删除MySQL中与另一个表中的两列匹配的行

时间:2014-08-14 19:31:06

标签: mysql sql

我正在使用MySQL并希望删除表T1中的条目:

user_id  level_id  other_data
   1        5         ...
   2        7         ...
   :

其中user_idlevel_id值一起显示在表T2中:

user_id  level_id
   1         5
   2         6

在此示例中,第一行将从表T1中删除。

我试过了:

delete from T1 where (user_id,level_id) in select user_id,level_id from T2;

但是语法错误。

1 个答案:

答案 0 :(得分:6)

你非常接近。尝试使用exists

delete from T1
    where exists (select 1
                  from t2
                  where t1.user_id = t2.user_id and t1.level_id = t2.level_id
                 );