我有两个 mysql 表:
表格1:
id name type
1 a 123
2 b 125
Run Code Online (Sandbox Code Playgroud)
表2:
id text
1 test1
2 test2
Run Code Online (Sandbox Code Playgroud)
这两个表需要合并到第三个表中
表3:
id name type text
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
旧表和新表中的 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
Run Code Online (Sandbox Code Playgroud)
使用自动增量,我们根本不需要重新计数id。
这是一个SQL Fiddle供您使用。)
我实际上不明白你的方案中的空白空间是什么,并假设它都是 NULL。如果没有,您可以NULL在此查询中用您想要的任何默认值替换。