我做了一些研究但是我发现的所有例子看起来都太复杂了,因为我想做什么。我按年份有多个归档数据表(例如archive_2013,archive_2012等),并希望创建一个新的主表(archive_master),其中包含来自所有表的所有数据。这些表没有键,只有2列,一个是varchar(120),另一个是char(20)。我希望这和我想的一样简单直接。
答案 0 :(得分: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
答案 1 :(得分:0)
INSERT INTO archive_master
VALUES(SELECT * FROM archive_2013
);
答案 2 :(得分:0)
所以你想创建一个新表吗?
您可以使用简单的INSERT INTO和SELECT
请参阅:
使用SELECT创建表
http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html
使用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;