【发布时间】:2011-10-01 13:05:58
【问题描述】:
所以我有一个 MySQL 数据库,用于 PHP 站点。在数周的开发过程中,我留下了类似的东西:
Table: users
id | name
-----------
12| Bob
34| Jen
155| John
154| Kyle
除了数百条记录,ID 数以千计。
我正在寻找一个我可以运行的脚本来将键重命名为它们的最小值(保留它们各自的行),然后将 AUTO_INCREMENT 重置为下一个 id
期望的输出是:
Table: users
id | name
-----------
1| Bob
2| Jen
3| Kyle
4| John
还有ALTER TABLE users AUTO_INCREMENT = 5;
(通知Kyle和John)
我意识到我必须修复任何引用 users.id 的内容。
有谁知道在 MySQL 或 PHP 脚本中执行此操作的方法?
【问题讨论】:
-
我之前通过删除删除 ID 列并再次创建它来做到这一点,但是我不确定这将如何影响排序。编辑:我建议你在尝试这样的事情之前执行备份。
标签: php mysql database auto-increment