我正在尝试使用MySQL工作台更改给定表的下一个自动增量值。下一个自动增量值当前设置为3,我试图使其成为2.每当我尝试应用更改时,工作台运行以下代码。
ALTER TABLE `mysql_schema`.`mysql_table`
AUTO_INCREMENT = 2 ;
然而,在运行此代码后,未应用更改,并且下一个自动增量值仍为3。问题是什么?为什么自动增量值不会改变?我试图手动执行代码,但它也没有用。
答案 0 :(得分:6)
我知道这个答案在初始请求后很长一段时间,但它可能会帮助那些遇到同样问题的人。
所以,你有两行,删除其中一行,下一个增量值是3.要改变这个' 3'到' 2'并允许未来的增量值来自' 2'而不是' 3',请尝试以下方法。
来自' Schemas'列(左侧):
我希望这适合你。
答案 1 :(得分:1)
您无法将计数器重置为小于或等于任何已使用过的值。
对于MyISAM
,如果该值小于或等于AUTO_INCREMENT列中当前的最大值,则该值将重置为当前最大值加1。
对于InnoDB
,如果该值小于列中的当前最大值,则不会发生错误,并且不会更改当前序列值。
答案 2 :(得分:1)
在MySQL Workbench中, -点击表格,即可对其进行编辑 -在该框的最底部,您会看到其他列,特别是: “列”,“索引”,“外键”,“触发器”,“分区”,“选项”,“插入”,“特权” -点击“选项” -您可以在此处将“自动增量”设置为所需的值。
答案 3 :(得分:0)
请参阅How to set initial value and auto increment in MySQL?
有关于AUTO_INCREMENT和“=”之间的空格和值的注释。删除空格。并试试。