【问题标题】:How to copy a table and add a field with MySQL?如何使用 MySQL 复制表并添加字段?
【发布时间】:2012-05-25 13:15:36
【问题描述】:

我想将表 A 复制到带有 INSERT ... SELECT 的表 B 中,而不在 MySQL 中声明所有字段。

但问题是我的表 B 在开头有一个自动增量字段,名为 id

table_A

 name    age      etc
-------|--------|--------|
 abc   | 28     | ...    |

table_B

 id      name    age      etc
-------|-------|--------|--------|

我试图做类似的事情:

INSERT INTO table_B SELECT auto, * FROM table_A

但它没有用。什么是最好的解决方案?

【问题讨论】:

    标签: mysql sql copy insert-select


    【解决方案1】:

    明确指定列名:

    INSERT INTO table_B (name,age,etc) SELECT * FROM table_A
    

    甚至

    INSERT INTO table_B (name,age,etc) SELECT name,age,etc FROM table_A
    

    【讨论】:

      【解决方案2】:

      从 Table_A 插入记录时,您无需担心为 Table_B 中的 id 列生成值。

      因为Auto_Incerement 列就像具有默认值的列。不同之处仅在于默认值从该列中最后插入的值增加了某个指定的间隔。

      【讨论】:

        猜你喜欢
        • 2013-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        • 2021-01-29
        相关资源
        最近更新 更多