2014-10-18 114 views
1
DELETE FROM `lif_1`.`geo_patch` WHERE `TerID` IN (SELECT * FROM (SELECT `TerID` FROM `lif_1`.`geo_patch` WHERE `LevelFlags` = '22') AS p); 

似乎它不是woeking,我做錯了什麼?Mysql刪除選擇

我想找到所有有LevelFlags=22,所以我可以找到他們的TerID並刪除它們。

+0

是'LevelFlags' CHAR或數字? – lurker 2014-10-18 16:21:43

回答

0

您也可以使用自連接

DELETE t.* 
FROM geo_patch t 
JOIN geo_patch t1 ON(t.TerID = t1.TerID) 
WHERE t1.LevelFlags = '22' 
+0

SELECT t。* FROM geo_patch t JOIN geo_patch t1 ON(t.TerID = t1.TerID) WHERE t1.LevelFlags ='22'; 有了這個,我應該能夠看到刪除工作是否正確? – Aggem8 2014-10-18 16:53:53

+0

@ Aggem8是的,你可以 – 2014-10-18 16:55:03

+1

它的工作原理,非常感謝:)! – Aggem8 2014-10-18 17:09:17