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

use*_*863 5 mysql union

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

SELECT * FROM tabel1
UNION
SELECT * FROM tabel2
Run Code Online (Sandbox Code Playgroud)

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

谁能帮我?

car*_*10m 19

INSERT INTO table3 
SELECT * FROM tabel1
UNION
SELECT * FROM tabel2
Run Code Online (Sandbox Code Playgroud)

因为你在这三个中都有相同的列...

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

INSERT INTO table3 (col1, col2, col3)
SELECT col1, col2, col3 FROM tabel1
UNION
SELECT col1, col2, col3 FROM tabel2
Run Code Online (Sandbox Code Playgroud)

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