【问题标题】:Change AUTO_INCREMENT value更改 AUTO_INCREMENT 值
【发布时间】:2014-05-30 23:53:05
【问题描述】:

我正在使用 MySQL 5.6.12。我试过这个命令,但没有用。

ALTER TABLE food AUTO_INCREMENT = 1;  
ALTER TABLE food AUTO_INCREMENT=1;

我尝试使用我的 winform 应用程序和 EMS MySQL 管理器,但均未成功。
我已经尝试了一些我在这里找到的答案,但还没有……

完全没有错误。查询执行完美,只是不会更改 AUTO_INCREMENT 值。

【问题讨论】:

  • 我们需要更多的上下文。你有错误吗?如果是这样,错误是什么。你的餐桌上有哪些设置?
  • 没有错误,查询执行完美...但是当我添加另一行时,它仍然具有旧的 AUTO_INCREMENT 值,你知道吗?什么都没有改变...
  • 这是一个重复的问题。看这里:stackoverflow.com/questions/17689738/…
  • @Wezelkrozum 您的“重复问题”的答案,您不能将计数器重置为小于或等于已使用的值。。是的你可以。我以前在工作中做,现在不行了……

标签: mysql


【解决方案1】:

如果您尝试降低自动增量值,它可能无法按预期工作。来自MySQLDocumentation

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

由于您尝试将其设置为 1,因此除非表为空,否则这将不起作用,因为这必然小于当前最大值。

【讨论】:

  • 我已经删除了我桌子上的每一行......它的 auto_increment 仍在计数(现在是 55)。
  • 你用的是什么引擎?
  • 而表是空的
猜你喜欢
  • 2021-12-04
  • 1970-01-01
  • 2015-03-03
  • 1970-01-01
  • 2014-04-17
  • 2011-01-18
  • 2011-01-11
  • 1970-01-01
  • 2011-10-28
相关资源
最近更新 更多