UPDATE A a SET A.name = (SELECT b.xingming FROM B b WHERE b.id = a.id) WHERE EXISTS (SELECT 1 FROM B b WHERE b.id = a.id);
insert into A(name,address) select xingming,dezhi from B where not exists(select null from A where A.name = B.xingming and A.address = B.dezhi)
insert into A(name,address) select xingming as 'name',dezhi as 'address' from B where not exists(select null from A where A.name = B.xingming and A.address = B.dezhi)
既然name列和B表中的xingmin列是一样的内容就没必要再再添了,否则就重复了
是不是你的问题描述不够清晰
UPDATE A a
SET A.name = (SELECT b.xingming FROM B b WHERE b.id = a.id)
WHERE EXISTS (SELECT 1 FROM B b WHERE b.id = a.id);
select xingming,dezhi from B
where not exists(select null from A where A.name = B.xingming and A.address = B.dezhi)
select xingming as 'name',dezhi as 'address' from B
where not exists(select null from A where A.name = B.xingming and A.address = B.dezhi)