我的网站上有1061
用户,我会删除那些不经常付款的用户。我不喜欢它的说法ID: 304
,然后跳到ID:400
...
有什么方法可以改变系统,所以当我删除某人时,它会将他们更改ID
为 eg305
然后继续?
这是强迫症,真的很烦我。
我的网站上有1061
用户,我会删除那些不经常付款的用户。我不喜欢它的说法ID: 304
,然后跳到ID:400
...
有什么方法可以改变系统,所以当我删除某人时,它会将他们更改ID
为 eg305
然后继续?
这是强迫症,真的很烦我。
获得连续编号的唯一方法是编写大量代码,并在重建编号时定期关闭对系统的访问。即试图得到你想要的结果是非常非常困难和破坏性的。
它没有坏。
不要试图修复它。
这不是常见的做法,但您可以执行
ALTER TABLE users AUTO_INCREMENT = 1
每次删除用户后
然后每个新插入的用户都会得到第一个可用的 id。我必须再说一遍,这并不漂亮。您必须确保当一个 id 被删除时,任何基于或以某种方式连接到该 id 的东西也必须被删除。
当您删除用户时,您可以运行
UPDATE users SET id = id - 1 WHERE id > X order by id ASC
where X
is the ID of the deleted user 然后您必须更改下一个自动增量
ALTER TABLE users SET AUTO_INCREMENT = Y
where Y
isMAX(id) + 1