2014-11-08 112 views
0

我在MySQL中有两个表格,我想将它们合并为一个大表格。两个表具有完全相同的列(主索引id列和snippet列是一个字符串),但具有不同的数据。它们已经从不同的.csv文件加载,因为当不分割时,文件太大而无法一次性上传到phpMyAdmin。如何在SQL中的两个表中创建一个表格

现在,我想将这两个表格合并为一个。

到目前为止,我所能找到的所有关于StackOverflow的问题都是关于想要合并两个表的结果。

例如:将一些数据从一个表映射到另一个表。但我想要物理合并这两个表,以便它们存储为一个SQL表。

这怎么办?

回答

2

实例为您

CREATE TABLE new_table 
    AS (SELECT * FROM first UNION ALL SELECT * FROM second); 
+0

解决方案一运行,一旦我删除括号。但这可能只是SQL版本之间的区别。 (我不明白为什么括号会使它失败)。谢谢! – Qqwy 2014-11-08 12:58:57

2

我可能会建议您只需将第二台进入第一:

insert into first 
    select * from second; 

这可以让你保持对第一台辅助信息 - 诸如主键定义,索引,触发器和外键关系。

你可以做类似的事情:

create table newtable like first; 

insert into newtable 
    select * from first; 

insert into newstable 
    select * from second; 

注:通常我建议使用insert在使用的列清单,但如果两个表确实有一模一样的格式,那么这应该工作。

另请注意,两个表中的主键之间的冲突可能导致这些方法失败。

相关问题