Mysql的sql语句,Delete中包含notin mysql delete not in
想要执⾏:
DELETE FROM tb_tableA WHERE id IN (
mysql中delete语句SELECT a.id FROM tb_tableA a WHERE a.id NOT IN (
SELECT a_id FROM tb_tableB
)
);
是⽆法正确执⾏的。
解决⽅案:创建临时表,作为中间表;⽤完再删去。
CREATE TABLE tmp AS SELECT t.id FROM (
SELECT a.id FROM tb_tableA a WHERE a.id NOT IN (
SELECT a_id FROM tb_tableB
)
) t;
DELETE FROM tb_tableA WHERE id IN (SELECT id FROM tmp);
DROP TABLE tmp;
【说明】:tb_tableB 中字段a_id是 tb_tableA 的主键id .
成功!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论