我需要合併2個具有相同結構的表,table1
和table2
。他們大多數行不同,但有些行是重複的。在MySQL中合併2個表與一些重複的數據
有沒有辦法將table2
合併成table1
,但是在1條語句中省略了重複記錄?
我很新的MySQL的任何幫助將不勝感激。
編輯:查詢我到目前爲止僅僅是這樣的:
INSERT INTO table1
SELECT *
FROM table2
所以我不知道該如何選擇離開了重複。
我需要合併2個具有相同結構的表,table1
和table2
。他們大多數行不同,但有些行是重複的。在MySQL中合併2個表與一些重複的數據
有沒有辦法將table2
合併成table1
,但是在1條語句中省略了重複記錄?
我很新的MySQL的任何幫助將不勝感激。
編輯:查詢我到目前爲止僅僅是這樣的:
INSERT INTO table1
SELECT *
FROM table2
所以我不知道該如何選擇離開了重複。
如果你只是想要的結果:
select * from table1 union select * from table2;
聯盟將刪除重複。
如果要創建具有一個新表:
create table merged_table(select * from table 1 union select * from table2);
然後,您可以:
drop table table1;
rename table merged_table to table1;
(不要或刪除表,而其他的查詢都可能)
我該如何得到此檢查重複從某些列?每個表格當前都有自己的ID,因此使用ID進行比較不會導致任何重複。 – 2013-04-20 19:34:34
您可以試試INSERT SELECT
,以便將table2合併到table1中
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
[INTO] table2 [(col_name,...)]
SELECT * FROM table1
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
鏈接:http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
這是如何處理重複的? – 2013-04-20 19:22:40
@TriNguyen在重複... – SaidbakR 2013-04-20 19:24:40
如果我有這些表的'ID'列到'AUTO_INCREMENT',然後指定爲'PRIMARY KEY',有沒有辦法檢查在這個過程中使用其他列重複? – 2013-04-20 19:33:39
我們應該猜到你的查詢? – 2013-04-20 19:15:44
@echo_me他談到一個原則,我認爲在他的問題中不需要查詢。 – SaidbakR 2013-04-20 19:17:03
@echo_me我不確定查詢應該是什麼。我到目前爲止唯一的事情是'INSERT INTO table1 SELECT * FROM table2',但我不知道如何省略重複的記錄。 – 2013-04-20 19:19:54