MySQL Workbench - 更改下一个自动增量值不起作用

Posted

技术标签:

【中文标题】MySQL Workbench - 更改下一个自动增量值不起作用【英文标题】:MySQL Workbench - Altering Next Auto Increment Value does not Work 【发布时间】: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 的行已被删除。 【参考方案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 工作台中, - 单击表格,以便您对其进行编辑 - 在该框的最底部,您会看到其他列,特别是: "列","索引","外键","触发器","分区","选项","插入","特权" - 点击“选项” - 在这里您可以将自动增量设置为您想要的。

【讨论】:

以上是关于MySQL Workbench - 更改下一个自动增量值不起作用的主要内容,如果未能解决你的问题,请参考以下文章

MySql workbeach 更改侧边栏大小

MySQL Workbench 自动增量禁用

MySQL Workbench 自动完成功能是不是有效?

centos下MySQL Workbench连接时崩溃的解决方法

mysql 的默认数据库mysql为啥在 workbench下看不到?怎么办?

mySQL Workbench 中的数据类型未更新