以下のクエリを起動しようとしています...
何か問題はありますか?
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));
以下のクエリを起動しようとしています...
何か問題はありますか?
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));
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