mysql中通过not exists寻找两个表中的差异数据
因为要处理图片介绍表(A表)和图片地址(B表)两张表和中的数据,A表和B表通过字段aid关联,可能是由于导数据的时候,造成A表中的数据比B表中多。现在要给修改好。如下:
A表:
aid title
1 a1
2 a2
3 a3
4 a4
B表:
aid content
1 test1
2 test2
解决思路:首先查询出B表中不存的数据,然后再相对应的插入到B表就能搞定。
SELECT * FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.aid = B.aid)
SQL结果是:
aid title
3 a3
4 a4
最后的SQL是:INSERT INTO B (aid) SELECT A.aid FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.aid = B.aid)
因为要处理图片介绍表(A表)和图片地址(B表)两张表和中的数据,A表和B表通过字段aid关联,可能是由于导数据的时候,造成A表中的数据比B表中多。现在要给修改好。如下:
A表:
aid title
1 a1
2 a2
3 a3
4 a4
B表:
aid content
1 test1
2 test2
解决思路:首先查询出B表中不存的数据,然后再相对应的插入到B表就能搞定。
SELECT * FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.aid = B.aid)
SQL结果是:
aid title
3 a3
4 a4
最后的SQL是:INSERT INTO B (aid) SELECT A.aid FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.aid = B.aid)