【问题标题】:Can I add a new auto-increment column to this UNION?我可以向这个 UNION 添加一个新的自动增量列吗?
【发布时间】:2021-11-09 02:52:29
【问题描述】:

我正在尝试连接两个表,从两个表中获取所有数据。

我设法联合两个表,但我需要添加一个具有自动增量的 ID 作为我正在创建的新表的主键。
我不知道该怎么做,也找不到将其添加到查询中的方法。

CREATE TABLE NEWTABLE
SELECT T1.TEXT as TEXT
       [...]
       FROM TABLE1 T1
       LEFT JOIN TABLE2 T2
            on T1.TEXT = T2.TEXT
UNION
SELECT T2.TEXT as TEXT
       FROM TABLE1 T1
       [...]
       RIGHT JOIN TABLE2 T2
            on T1.TEXT = T2.TEXT

【问题讨论】:

    标签: mysql auto-increment


    【解决方案1】:

    您需要将列定义放在CREATE TABLE 语句中以添加id 列。然后在SELECT 查询中提供NULL 作为它的值。

    CREATE TABLE NEWTABLE (
        id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
        text TEXT,
        [...]
    ) AS
    SELECT null, T1.TEXT
           [...]
    FROM TABLE1 T1
    LEFT JOIN TABLE2 T2
        on T1.TEXT = T2.TEXT
    UNION
    SELECT null, T2.TEXT as TEXT
    FROM TABLE1 T1
    [...]
    RIGHT JOIN TABLE2 T2
        on T1.TEXT = T2.TEXT
    

    【讨论】:

      猜你喜欢
      • 2011-10-28
      • 1970-01-01
      • 2011-01-31
      • 2015-05-06
      • 1970-01-01
      • 2010-11-05
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多