【问题标题】:Select into without touching the autoincrement ID field在不触摸自动增量 ID 字段的情况下选择
【发布时间】:2014-01-02 21:49:18
【问题描述】:

我想将数据从一个表迁移到另一个表,而不复制自动递增的 ID 字段。

source_table:

标识标签

------

5 个文本

6 文本2

dest_table:

标识标签

------

SELECT LABEL
INTO dest_table
FROM source_table

如果知道 dest_table 中的 ID 是自动递增的主键,上述语句是否有效?

【问题讨论】:

  • 是的,应该没问题。
  • @user1336827 将其添加为答案而不是评论,以便人们可以投票,我可以接受它
  • 创建表然后使用 INSERT INTO 加载它几乎更好...... SELECT
  • 为什么投反对票?需要解释...
  • 如果您按 F5 键,您会节省很多时间。

标签: sql select-into


【解决方案1】:

是的,它会起作用并导致

1 条文字

2 文本2

但问题是,如果您创建了第二个表并将引用创建的表。然后你必须保持主键的值不变,不要忽略它们。

查询不正确:

INSERT INTO destination (label) SELECT label FROM source

【讨论】:

  • 但是查询如何知道 source_table 的 LABEL 应该适合 dest_table 的 LABEL 列?
  • 通过指定要导入的列
【解决方案2】:

是的,它会正常工作,新表中的自动递增只会自动递增。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 2010-11-06
    • 2010-09-07
    • 1970-01-01
    相关资源
    最近更新 更多