MySQL:合并两个表(相同的模式)并创建一个新表 - SINGLE QUERY

时间:2012-02-21 19:55:48

标签: mysql sql centos

我有两个具有完全相同架构的表。

我想有一个第3个表,其中包含这两个表的所有数据。

如何使用INSERT INTO查询执行此操作(执行此操作的单个查询)?

我知道我可以这样做:INSERT INTO name_of_new_table SELECT DISTINCT * FROM name_of_old_table但我需要做两次。我正在尝试使用SINGLE查询来执行此操作。

谢谢。

1 个答案:

答案 0 :(得分:3)

INSERT INTO new_table
SELECT * FROM old_table_1
UNION
SELECT * FROM old_table_2

删除了DISTINCT,因为UNION有隐含的DISTINCTUNION ALL没有这个)。但是,这仅在表列数相同且列类型相似时才有效。然后,听起来就像是你的情况。