0

我的网站上有1061用户,我会删除那些不经常付款的用户。我不喜欢它的说法ID: 304,然后跳到ID:400...

有什么方法可以改变系统,所以当我删除某人时,它会将他们更改ID为 eg305然后继续?

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

4

3 回答 3

8

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

它没有坏。

不要试图修复它。

于 2013-05-29T14:08:37.310 回答
2

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

ALTER TABLE users AUTO_INCREMENT = 1

每次删除用户后

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

于 2013-05-29T14:09:16.477 回答
0

当您删除用户时,您可以运行 UPDATE users SET id = id - 1 WHERE id > X order by id ASC where Xis the ID of the deleted user 然后您必须更改下一个自动增量 ALTER TABLE users SET AUTO_INCREMENT = Y where YisMAX(id) + 1

于 2013-05-29T14:08:33.480 回答