【问题标题】:How to copy multiple records in MySql?如何在 MySql 中复制多条记录?
【发布时间】:2013-02-12 06:38:41
【问题描述】:

我在 MySql 数据库中有一个表“tb_products”,其中字段“ID”作为主键并自动递增; SQL 中按 ID 选择多条记录并使用新的递增 ID 将它们复制到同一个表中的最佳做法是什么?

【问题讨论】:

    标签: mysql sql field record


    【解决方案1】:
    INSERT INTO tb_products
    SELECT NULL id, field1, field2, field3, ...
    FROM tb_products
    WHERE id IN (id1, id2, id3, ...)
    

    SELECT子句中的字段列表应该是除id之外的所有字段。

    【讨论】:

    • SELECT 中的字段需要与您要插入的表中的字段数相匹配。如果不想复制id,则需要SELECT NULL,或者在INSERTINSERT INTO table(field1,field2,...))中添加字段列表。
    【解决方案2】:
    INSERT INTO NewTbl(Field_1,Field_2,...)
    SELECT Field_1,Field_2,...
    FROM OldTbl;
    

    【讨论】:

      【解决方案3】:

      使用mysql的insert selecthttp://dev.mysql.com/doc/refman/5.1/en/insert-select.html,在现有表中选择时,只需省略选择id,让新表生成新的id

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-08
        • 2016-09-01
        • 2016-11-01
        • 2014-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多