我正试图在查询之下......
它有什么问题吗?
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));
答案 0 :(得分:5)
如DELETE
Syntax手册部分所述:
目前,您无法从表中删除并从子查询中的同一个表中进行选择。
您可以在表格中使用DELETE
和join的多表格形式:
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