我必须从另外两个表中创建一个表(并使用union).有效的查询是:
SELECT * FROM tabel1
UNION
SELECT * FROM tabel2
现在我要做的是将这个结果(数据)放入table3(我已经拥有的表,与table1和table2中的列相同).
谁能帮我?
最佳答案
INSERT INTO table3
SELECT * FROM tabel1
UNION
SELECT * FROM tabel2
因为你在这三个中都有相同的列…
在一般情况下,您应该使用列表列表
INSERT INTO table3 (col1,col2,col3)
SELECT col1,col3 FROM tabel1
UNION
SELECT col1,col3 FROM tabel2
这样可以避免auto_increment id-columns出现问题.此外,您应该考虑使用UNION ALL,因为UNION会过滤掉重复的行,因此在大型表上需要更长的时间.