我在MYSQL中有两个表看起来像这样:
表A:
id1 | id2 | id3 | id4 |
1 | 15 | 26 | 12 |
2 | 27 | 12 | 15 |
1 | 4 | 82 | 18 |
4 | 11 | 37 | 22 |
1 | 21 | 31 | 24 |
表b:
id1 | id2 |
2 | 27 |
1 | 21 |
我想删除表A中与表B中的字段部分匹配的行(意味着从表A中删除第2行和第5行)。
有没有人有想法? 谢谢:)
答案 0 :(得分:1)
使用Exists
或Join
语法删除匹配的记录。试试这个
delete
from TableA
where exists
(
select 1
from TableB B
where TableA.id1 = B.id1 and TableA.id2 = B.id2
)
答案 1 :(得分:0)
您可以使用多表删除语法:
delete TableA.*
from TableA
inner join TableB on TableB.id1 = TableA.id1 and TableB.id2 = TableA.id2;