我有两个 mysql 表:
表 1:
id name type
1 a 123
2 b 125
表 2:
id text
1 test1
2 test2
这两个表需要合并成第三个表
表 3:
id name type text
id 是一个自动递增的id。前两个表有不相关的数据。我的意思是,表 1 中 id=1 的行与表 2 中 id=1 的行无关。所以,我基本上想编写一个 sql 脚本,它将值插入表 3,最后看起来像这样:
表 3:
id name type text
1 a 123
2 b 125
3 test1
4 test2
旧表和新表中的 ID 不必匹配。只有表中的数据需要在新表中。 我是 mysql 的新手,如果有人可以帮助我,那就太好了!
谢谢!
最佳答案
可以这样实现:
CREATE TABLE Table3 (
id int auto_increment,
name ...,
type int,
text ...,
PRIMARY KEY (id)
);
INSERT INTO table3 (name, type, text)
SELECT name, type, text FROM (
SELECT name, type, NULL AS text FROM table1
UNION ALL
SELECT NULL as name, NULL as type, text FROM table2) AS t
有了自增,我们根本不需要重新计算id
。
这是一个 SQL Fiddle 给你玩。 )
我实际上不明白你的方案中的空白空间是做什么用的,并假设它都是空的。如果不是,您可以将此查询中的 NULL
替换为您想要的任何默认值。
关于mysql - 将两个mysql表合并成第三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12499446/