內蒙古java團隊

          j2se,j2ee開發組
          posts - 139, comments - 212, trackbacks - 0, articles - 65
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          MySQL中多表刪除方法【轉】

          Posted on 2013-09-24 09:32 帥子 閱讀(1630) 評論(0)  編輯  收藏 所屬分類: j2ee技術專區

            1、從MySQL數據表t1中把那些id值在數據表t2里有匹配的記錄全刪除掉

            DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id

            2、從MySQL數據表t1里在數據表t2里沒有匹配的記錄查找出來并刪除掉

            DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或

            DELETE FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL

            3、從兩個表中找出相同記錄的數據并把兩個表中的數據都刪除掉

            DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25

            注意此處的delete t1,t2 from 中的t1,t2不能是別名

            如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在數據里面執行是錯誤的(MySQL 版本不小于5.0在5.0中是可以的)

            上述語句改寫成

            delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在數據里面執行是錯誤的(MySQL 版本小于5.0在5.0中是可以的)

           

          主站蜘蛛池模板: 禹州市| 抚松县| 武义县| 南充市| 龙州县| 高唐县| 宁陕县| 开远市| 泸定县| 景洪市| 犍为县| 榆中县| 南江县| 陆河县| 陆丰市| 平顶山市| 晋州市| 静宁县| 灌阳县| 扎赉特旗| 汉中市| 曲麻莱县| 上犹县| 兴国县| 洱源县| 兴仁县| 武城县| 宁津县| 壶关县| 新余市| 静海县| 宁乡县| 巩留县| 施秉县| 五常市| 江源县| 开鲁县| 麻江县| 天全县| 青铜峡市| 秦安县|