5

我必须用另外两个表制作一个表(并使用联合)。有效的查询是:

SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

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

谁能帮我?

4

1 回答 1

21
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_incrementid-columns 的麻烦。此外,您应该考虑使用UNION ALL因为UNION过滤掉重复的行,因此在大表上需要更长的时间。

于 2013-09-03T17:18:47.093 回答