我必须用另外两个表制作一个表(并使用联合)。有效的查询是:
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_increment
id 列的麻烦。此外,您应该考虑使用 UNION ALL
,因为 UNION
会过滤掉重复的行,因此在大表上会花费更长的时间。
关于MYSQL:将两个表合并为一个,使用union,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597952/