php – 重新索引MySQL INT主键并重置AUTO_INCREMENT

所以我有一个MySQL数据库,我正在使用PHP网站.在几周的发展过程中,我留下了类似的东西:

Table: users

id  | name
-----------
  12| Bob
  34| Jen
 155| John
 154| Kyle

除此之外,还有数百条记录,而且数以千计.

我正在寻找一个脚本,我可以运行将键重命名为最低值(保留各自的行),然后将AUTO_INCREMENT重置为下一个id

期望的输出是:

Table: users

id  | name
-----------
   1| Bob
   2| Jen
   3| Kyle
   4| John

和ALTER TABLE用户AUTO_INCREMENT = 5;

(注意凯尔和约翰)

我意识到我必须修复任何引用users.id的东西.

有没有人知道在MysqLPHP脚本中这样做的方法

解决方法:

删除id上的索引

做这样的事情:

SET @rank:=0;
update users
set id=@rank:=@rank+1
order by id;

在id上添加索引

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...