【问题标题】:MySQL Workbench - Altering Next Auto Increment Value does not WorkMySQL Workbench - 更改下一个自动增量值不起作用
【发布时间】:2014-05-05 09:58:42
【问题描述】:

我正在尝试使用 MySQL 工作台更改给定表的下一个自动增量值。下一个自动增量值当前设置为 3,我正在尝试将其设为 2。每当我尝试应用更改时,工作台都会运行以下代码。

ALTER TABLE `mysql_schema`.`mysql_table` 
AUTO_INCREMENT = 2 ;

然而,运行此代码后,更改并未应用,下一个自动增量值仍为 3。有什么问题?为什么自动增量值不变?我尝试手动执行代码,但它也不起作用。

【问题讨论】:

  • 表中ID的当前值是多少?
  • 我怀疑您是否可以将自动增量设置为低于现有值。
  • @MattPileggi 我的自动增量值现在只有 1。我有 1 和 2,但是 2 的行已被删除。

标签: mysql


【解决方案1】:

您不能将计数器重置为小于或等于已使用的值。
对于MyISAM,如果该值小于或等于AUTO_INCREMENT列中当前的最大值,则将该值重置为当前最大值加一。
对于InnoDB,如果该值小于该列中当前的最大值,则不会发生错误,并且当前序列值不会改变。

MySQL official alter doc

【讨论】:

    【解决方案2】:

    How to set initial value and auto increment in MySQL?

    那里有一条关于 AUTO_INCREMENT 和“=”之间的空格以及值的注释。删除空格。试试看。

    【讨论】:

      【解决方案3】:

      我知道这个答案在最初的请求之后很长一段时间,但它可能会帮助遇到同样问题的人。

      所以,您有两行,删除了其中一个,下一个增量值为 3。要将这个 '3' 更改为 '2' 并允许未来的增量值从 '2' 而不是 '3' 流出,请试试下面的。

      从“架构”列(左侧):

      • 右键单击表名。
      • 选择“更改表格”(或按“扳手”图标)。
      • 向下查看具有“应用”和“还原”按钮的“灰色区域”
      • 在这个“灰色区域”的左侧有 6 个选项卡。
      • 其中一个选项卡是“选项”选项卡 - 选择选项选项卡。
      • “常规选项”部分中有一个“自动增量”框
      • 在“自动增量”框中键入“2”,然后按“应用”按钮。
      • 在结果框中,按“应用”,然后按“完成”按钮。
      • 返回您的表格并添加新行,然后按应用按钮。
      • 增量列的值现在将为“2”。

      我希望这对你有用。

      【讨论】:

        【解决方案4】:

        在 MySQL 工作台中, - 单击表格,以便您对其进行编辑 - 在该框的最底部,您会看到其他列,特别是: "列","索引","外键","触发器","分区","选项","插入","特权" - 点击“选项” - 在这里您可以将自动增量设置为您想要的。

        【讨论】:

          猜你喜欢
          • 2016-02-09
          • 2013-08-24
          • 2021-03-03
          • 1970-01-01
          • 2020-01-14
          • 2017-08-30
          • 2015-09-30
          • 2014-06-09
          • 2017-06-07
          相关资源
          最近更新 更多