将两个 mysql 表合并到第三个表中

rid*_*ule 1 mysql merge

我有两个 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 很陌生,如果有人能帮我解决这个问题,那就太好了!

谢谢!

rai*_*7ow 5

它可以通过这样的事情来完成:

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在此查询中用您想要的任何默认值替换。