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 - 更改下一个自动增量值不起作用的主要内容,如果未能解决你的问题,请参考以下文章
centos下MySQL Workbench连接时崩溃的解决方法