【问题标题】:Resetting the AUTO_INCREMENT value of a column in MySQL重置 MySQL 中列的 AUTO_INCREMENT 值
【发布时间】:2013-12-22 06:12:45
【问题描述】:

我需要重置数据库中某列的 auto_increment 值,我知道可以使用:ALTER TABLE 'table' AUTO_INCREMENT = 1 但它不起作用。我正在使用 MySQL 5.6.14。

【问题讨论】:

  • “它不工作”是什么意思?更具体
  • 就像我什么都没做,它保持旧的最大值。

标签: mysql auto-increment


【解决方案1】:

如果是一个选项,您可以简单地截断表格

据我所知,您可能不会将 auto_increment 设置为低于当前表中的最大值(防止主键冲突)

【讨论】:

  • 我试过设置一个大于当前最大值的数字,还是一样
【解决方案2】:

如果你的表中有一些行你不能重置。

因为自增数字是唯一的。

@ok 为您提供了一个解决方案,但在这种情况下,行将被删除。

复制你的行截断表并再次加载主题

【讨论】:

    【解决方案3】:

    您只能将 AUTO_INCREMENT 设置为大于最大 id 的值。 因此,如果您有任何行,并且不想删除它,您可以降低自动增量值,但只是比您最后插入的行高一些值。

    【讨论】:

      猜你喜欢
      • 2013-03-22
      • 2016-07-06
      • 2017-04-14
      相关资源
      最近更新 更多