首页 > Mysql删除一条数据时以查询的结果作条件如何写?

Mysql删除一条数据时以查询的结果作条件如何写?

我想用查询的结果作为删除的条件,这个SQL语句如何写呐?

DELETE FROM table_a WHERE id=EXISTS(SELECT id FROM table_a WHERE id=1 AND name='x');

这是Google中找到的方法,可是不行呐,摸索了老半天了,俺知道的方式都试过了,可是还是不行,究竟要怎么写呐,求路过的给点解下。。


就是子查询啊,如果想删除一条数据就是

DELETE FROM table_a WHERE id = (SELECT id FROM table_a WHERE id=1 AND name='x' LIMIT 1);

这里的子查询结果必须保证只有一条记录。

删除多行就是这样

DELETE FROM table_a WHERE id  IN (SELECT id FROM table_a WHERE id=1 AND name='x');

这里的子查询结果数量就没限制


DELETE FROM table_a WHERE id in (SELECT id FROM table_a WHERE id=1 AND name='x');

【热门文章】
【热门文章】