MySQL:使用子查询中的信息DELETE FROM

Fra*_*lea 0 mysql subquery delete-row

我有一个表delete_requests,其中我存储了我的users表条目的删除请求的id.是否可以使用delete_requests中的信息作为条件从用户中删除?

我的问题是,结果集通常不会限制在一行,而是返回几行.

DELETE FROM users WHERE id=(SELECT id FROM delete_requests)
Run Code Online (Sandbox Code Playgroud)

所以MySQL抱怨:

#1242 - Subquery returns more than 1 row
Run Code Online (Sandbox Code Playgroud)

这可以在一个语句中完成而不将逻辑放入正在执行的应用程序中吗?

Sha*_*ngh 5

使用IN子句

DELETE FROM users WHERE id IN (SELECT id FROM delete_requests)
Run Code Online (Sandbox Code Playgroud)