无论如何,让id排序


Anyway of making the IDs sorted?

我的网站上有1061用户,我经常删除那些没有付费的用户。我不喜欢它怎么说ID: 304然后跳到ID:400

是否有办法改变系统,所以当我删除某人时,它会将他们的ID更改为例如305,然后继续?

这是强迫症,真的让我很烦。

拥有连续编号的id的唯一方法是编写大量代码,并在系统重新构建编号时定期关闭对系统的访问。也就是说,试图得到你想要的结果是非常非常困难和破坏性的。

它没有坏。

不要尝试修复

这不是常见的做法,但你可以执行

ALTER TABLE users AUTO_INCREMENT = 1

每次删除用户

则每个新插入的用户将获得第一个可用的id。我必须再说一遍,这可不好看。您必须确保当一个id被删除时,任何基于或以某种方式连接到该id的东西也必须被删除。

删除用户时,可以运行UPDATE users SET id = id - 1 WHERE id > X order by id ASC其中X是被删除用户的ID然后必须更改下一个自动增量ALTER TABLE users SET AUTO_INCREMENT = Y其中YMAX(id) + 1