我正在使用MySQL,并希望删除表T1中的条目:
user_id level_id other_data
1 5 ...
2 7 ...
:
Run Code Online (Sandbox Code Playgroud)
其中user_id和level_id值一起出现在表T2中:
user_id level_id
1 5
2 6
Run Code Online (Sandbox Code Playgroud)
在此示例中,第一行将从表T1中删除.
我试过了:
delete from T1 where (user_id,level_id) in select user_id,level_id from T2;
Run Code Online (Sandbox Code Playgroud)
但是这有语法错误.
你很近.尝试使用exists:
delete from T1
where exists (select 1
from t2
where t1.user_id = t2.user_id and t1.level_id = t2.level_id
);
Run Code Online (Sandbox Code Playgroud)