【问题标题】:Resetting the ID in phpmyadmin在 phpmyadmin 中重置 ID
【发布时间】:2017-09-11 06:53:30
【问题描述】:

我正在处理 MYSQL 数据库,该数据库的 id 最初从 00001 自动递增。但由于某种原因,我们将它们重置为 2000,现在客户想将它们再次重置为 00001。我尝试了以下操作:

ALTER TABLE table_name AUTO_INCREMENT=00001 

在phpmyadmin的SQL部分,我也试过这些步骤:

1) 选择表格 2)转到操作 3)转到表选项 4) 改变自动增量值

在这两种方式中,我都无法重置值。

【问题讨论】:

  • 如果表中有数据,则不能简单地重置 auto_increment 值,请参阅dev.mysql.com/doc/refman/5.7/en/…,特别是 InnoDB AUTO_INCREMENT Counter Initialization 部分和语句 To initialize an auto-increment counter after a server restart, InnoDB在第一次插入到包含 AUTO_INCREMENT 列的表中时,执行与以下语句等效的语句。 SELECT MAX(ai_col) FROM table_name FOR UPDATE;

标签: php mysql phpmyadmin


【解决方案1】:

可以通过 phpMyAdmin 完成:

  • 在您的 id 列中,移除自动增量设置
  • 删除结构中的主键 > 索引
  • 创建一个新列 future_id 作为主键,auto_increment
  • 浏览您的表格并验证新的增量是否符合您的预期
  • 删除旧的 id 列
  • 将 future_id 列重命名为 id
  • 通过结构 > 移动列移动新的 id 列

【讨论】:

    猜你喜欢
    • 2011-03-02
    • 2012-05-11
    • 2019-10-14
    • 1970-01-01
    • 2019-07-13
    • 2017-04-15
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    相关资源
    最近更新 更多