MYSQL:使用union将两个表合并为一个表

时间:2013-09-03 17:16:45

标签: mysql union

我必须从另外两个表中创建一个表(并使用union)。有效的查询是:

SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

现在我要做的就是将这个结果(数据)放入table3(我已经拥有的表,与table1和table2中的列相同)。

谁能帮帮我?

1 个答案:

答案 0 :(得分:18)

INSERT INTO table3 
SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

因为你们三个都有相同的列...

在一般情况下,您应该使用

等列列表
INSERT INTO table3 (col1, col2, col3)
SELECT col1, col2, col3 FROM tabel1
UNION
SELECT col1, col2, col3 FROM tabel2

这样可以避免auto_increment id-columns出现问题。此外,您应该考虑使用UNION ALL,因为UNION过滤掉重复的行,因此在大型表格上需要更长的时间。