我的网站中有1061
个用户,我删除了那些没有经常付费的用户。我不喜欢ID: 304
的说法,然后跳到ID:400
...
是否有任何更改系统的方法,以便在我删除某人时将其ID
更改为例如305
然后继续?
这是强迫症,真让我烦恼。
答案 0 :(得分:8)
连续编号ID的唯一方法是编写大量代码,并在重建编号时定期关闭系统。即试图获得你想要的结果是非常,非常困难和破坏性的。
它没有被打破。
不要试图解决它。
答案 1 :(得分:2)
这不常见,但你可以执行
ALTER TABLE users AUTO_INCREMENT = 1
每次删除用户后
然后,每个新插入的用户都将获得第一个可用的ID。我必须再说一遍,这不是很好。您必须确保在删除ID时,还必须删除以该ID为基础或以某种方式连接的任何内容。
答案 2 :(得分:0)
删除用户时,可以运行
UPDATE users SET id = id - 1 WHERE id > X order by id ASC
其中X
是已删除用户的ID
然后你必须改变下一个自动增量
ALTER TABLE users SET AUTO_INCREMENT = Y
其中Y
为MAX(id) + 1