Mysql的sql语句,Delete 中包含 not in
时间:2019-05-07 14:22:32
收藏:0
阅读:1309
mysql delete not in
想要执行:

1 DELETE FROM tb_tableA WHERE id IN ( 2 SELECT a.id FROM tb_tableA a WHERE a.id NOT IN ( 3 SELECT a_id FROM tb_tableB 4 ) 5 );
是无法正确执行的。
解决方案:创建临时表,作为中间表;用完再删去。

1 CREATE TABLE tmp AS SELECT a.id FROM ( 2 SELECT a.id FROM tb_tableA a WHERE a.id NOT IN ( 3 SELECT a_id FROM tb_tableB 4 ) 5 ) a; 6 DELETE FROM tb_tableA WHERE id IN (SELECT id FROM tmp); 7 DROP TABLE tmp;
成功!
评论(0)