--集合並: union --集合交: intersect --集合差: minus select * from a union select * from b;此句會將a and b 數據組合,不會有重複.那就好辦了,對不對?
insert into a select * from b where id not in (select id from a)
in mysql: 方法1: REPLACE INTO A SELECT * FROM B;//具体请看mysql manaul 6.4.8 方法2: INSERT INTO A SELECT B.* FROM B LEFT JOIN A ON A.ID = B.ID WHERE A.ID IS NULL;
--集合交: intersect
--集合差: minus
select * from a union select * from b;此句會將a and b 數據組合,不會有重複.那就好辦了,對不對?
方法1:
REPLACE INTO A
SELECT * FROM B;//具体请看mysql manaul 6.4.8
方法2:
INSERT INTO A
SELECT B.* FROM B
LEFT JOIN A ON A.ID = B.ID
WHERE A.ID IS NULL;
INSERT [LOW_PRIORITY] [IGNORE] [INTO] tbl_name [(column list)] SELECT ...如果你在一个有许多条记录行值的 INSERT 中指定关键词 IGNORE,任何在表中现有的 PRIMARY 或 UNIQUE 键上重复的记录行均会被忽略而不被插入。如果你不指定 IGNORE,当有任何记录行在一个现有的键值上重复时,插入均会被中止。你可以通过 C API 函数 mysql_info() 测定共有多少记录行被插入到表中。