2017-05-19 9 views
0

私のテーブルから孤立したレコードを削除したいと思います。ユーザーとアカウントのテーブルとユーザーアカウントのマッピングテーブルがあります。 下記のクエリを実行すると、構文エラーが表示されますので、お手数です。参加でMysqlを削除できない

delete from user_accounts where user_accounts.user_id not in(select user_id from user_accounts ua inner join user u on ua.user_id= u.id); 

私が得たエラー:

エラーコード:1093あなたはあなたが簡単なleft joinを使用することができ、FROM句

+0

あなたはエラーとは何であるエラー – gvmani

+0

を投稿することができますか?あなたもそれを投稿してください。 – Renier

+0

ハイエラーが更新されました – ANP

答えて

1

に更新するために、ターゲットテーブル 'user_accounts' を指定することはできません

delete ua 
from user_accounts ua 
left join user u on ua.user_id = u.id 
where u.id is null 
+0

ありがとうございます。問題が解決しました – ANP

0

Userは、reserved keyword here 、だからあなたのクエリがされる`

と周りのキーワードをエスケープ:

delete uac 
from user_accounts uac 
where uac.`user_id` not in 
(select `user_id` from user_accounts ua inner join `user` u on ua.`user_id` = u.id); 
+0

'user'はキーワードですが予約されていません。 –

関連する問題