2013-04-27 88 views
0

我已經做了一些研究,但是我發現的所有示例都顯得太複雜了,因爲我想要做什麼。我有多個歸檔數據表(例如,archive_2013,archive_2012等),並且希望創建一個由所有表中的所有數據組成的新主表(archive_master)。這些表沒有密鑰,只有2列,一個varchar(120)和另一個char(20)。我希望這是簡單而直接的,就像我認爲的那樣。mysql將多個現有表連接成一個新表

回答

0

那麼你想創建一個新表嗎?

你可以使用一個簡單的INSERT INTO與SELECT

參見:

與SELECT

http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html

INSERT CREATE TABLE INTO TABLE與SELECT

http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

您可以創建一個新表:

create table 'xyz' select * from archive_2010; 
insert into xyz select * from archive_2011; 
+0

你的答案非常完美,是非常簡單,這個新手理解。謝謝! – extraspecialbitter 2013-04-28 13:36:56

1

一個簡單的UNION將這樣的伎倆:

SELECT col1, col2 
FROM archive_2013 
UNION ALL 
SELECT col1, col2 
FROM archive_2012 

與INSERT結合起來,就大功告成了:

INSERT INTO full_archive 
SELECT col1, col2 
FROM archive_2013 
UNION ALL 
SELECT col1, col2 
FROM archive_2012 
0

INSERT INTO archive_master VALUES(SELECT * FROM archive_2013);