【问题标题】:MySQL - ID issueMySQL - ID 问题
【发布时间】:2015-06-01 07:36:39
【问题描述】:

基本问题,我有一个名为“ID”的列,它设置为 AUTO_INCREMENT 和 PRIMARY 索引。

如果我添加一行,它将 ID 设置为 1,下一行设置为 2,等等。它工作正常。

但是当我有例如 6 行 ID:1, 2, 3, 4, 5, 6 并且我删除了 ID = 6 的行,所以它现在是:1, 2, 3, 4, 5,我添加了一个新行,它没有得到ID = 6,而不是 ID = 7。所以它是:1, 2, 3, 4, 5, 7。他有什么问题?

你为什么不赞成我的问题?我只是想知道...

【问题讨论】:

  • 没问题,auto-increment就是这样设计的。
  • 也许你可以以某种方式使用它:stackoverflow.com/questions/8923114/… :)
  • 哦,我明白了。所以它应该像那样工作吗?哈哈:D
  • 你不应该设计任何系统,使其依赖于连续的主键值,只依赖于唯一的主键值

标签: mysql auto-increment


【解决方案1】:

自动增量 (AI) 列应该以这种方式运行。 AI 的运行计数成为表定义的一部分。你可以运行show create table "yourtablename",看看Engine定义之后会有一个AI计数。

如果删除第 6 行,可以运行 ALTER TABLE tbl AUTO_INCREMENT = 6; 将 AI 设置回 6。虽然,不建议这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2019-06-22
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多