我有一个表delete_requests,其中我存储了对于users表条目的删除请求的id。是否可以使用delete_requests中的信息作为条件从用户中删除?
我的问题是,结果集通常不会限制在一行,而是返回几行。
DELETE FROM users WHERE id=(SELECT id FROM delete_requests)
所以MySQL抱怨:
#1242 - Subquery returns more than 1 row
这可以在一个语句中完成而不将逻辑放入正在执行的应用程序中吗?
答案 0 :(得分:5)
使用IN子句
DELETE FROM users WHERE id IN (SELECT id FROM delete_requests)
答案 1 :(得分:2)
您可以使用in子句。
DELETE FROM users WHERE id IN (SELECT id FROM delete_requests)
答案 2 :(得分:2)
DELETE FROM users WHERE id IN (SELECT id FROM delete_requests)