我试图在下面查询...
它有什么问题吗?
delete from user_role
WHERE user_id in (
select u.user_id from user u, user_role ur
where u.USER_ID=ur.USER_ID and ur.ROLE_ID=4 and u.USER_ID not in (
select user_id from referrers));
Run Code Online (Sandbox Code Playgroud)
如DELETE
语法手册部分所述:
目前,您无法从表中删除并从子查询中的同一表中进行选择.
您可以使用多表格形式DELETE
并将表格连接在一起:
DELETE user_role
FROM user_role
INNER JOIN user_id USING (USER_ID)
LEFT JOIN referrers USING (USER_ID)
WHERE user_role.ROLE_ID = 4 AND referrers.USER_ID IS NULL
Run Code Online (Sandbox Code Playgroud)