MySQL:合并两个表(相同架构)并创建一个新表 - 单个查询

Phi*_*hil 1 mysql sql centos

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

我想要一个第三个表,包含这两个表的所有数据。

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

我知道我可以通过以下方式执行此操作:INSERT INTOname_of_new_table SELECT DISTINCT * FROMname_of_old_table 但随后我需要执行两次。我正在寻求通过单个查询来完成此操作。

谢谢。

Sam*_*aan 5

INSERT INTO new_table
SELECT * FROM old_table_1
UNION
SELECT * FROM old_table_2
Run Code Online (Sandbox Code Playgroud)

删除了您的DISTINCT,因为UNION有暗示DISTINCTUNION ALL没有这个)。然而,只有当表的列数相同并且具有相似的列类型时,这才有效。再说一次,听起来这就是你的情况。