我有两个具有相同列的表。
我可以将它们与UNION
select * from table1
union
select * from table2;
如何创建一个与该查询具有相同内容和列的新表?
答案 0 :(得分:18)
您可以使用CREATE TABLE ... SELECT声明。
CREATE TABLE new_table
SELECT * FROM table1
UNION
SELECT * FROM table2;
答案 1 :(得分:1)
create table new_table as
select col1, col2 from table1
union
select col1, col2 from table2
确保从union中的表中选择相同的列集。
答案 2 :(得分:0)
甚至你可以明确定义create table(我们通常在我们的项目中使用)。
CREATE TABLE IF NOT NOT IQISTS auditlog(
user_id varchar(30)NOT NULL default'',
user_ip varchar(255)NOT NULL default'',
........ ........
KEY ie1(user_id))
union =(auditlog_2,auditlog_3,auditlog_4)engine = merge insert_method = last;