我得用另外两张桌子做一张桌子(用union)。有效的查询是:

SELECT * FROM tabel1
UNION
SELECT * FROM tabel2

现在我要做的是将这个结果(数据)放入表3(我已经拥有的一个表,与表1和表2中的列相同)。
谁能帮我?

 

最佳答案

 

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列的问题。另外,您应该考虑使用UNION ALL,因为UNION会过滤掉重复的行,因此在大型表上会花费更长的时间。

来源:https://www.coder.work/article/498283