Mysql 根据另一个表从表中删除记录
我在MYSQL中有两个表,看起来像这样: 表A:Mysql 根据另一个表从表中删除记录,mysql,sql,sql-delete,Mysql,Sql,Sql Delete,我在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
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行)
有人有主意吗?
谢谢:)使用
Exists
或Join
语法删除匹配的记录。试试这个
delete
from TableA
where exists
(
select 1
from TableB B
where TableA.id1 = B.id1 and TableA.id2 = B.id2
)
您可以使用多表删除语法:
delete TableA.*
from TableA
inner join TableB on TableB.id1 = TableA.id1 and TableB.id2 = TableA.id2;