无论如何使ID排序?

时间:2013-05-29 14:05:07

标签: php mysql auto-increment

我的网站中有1061个用户,我删除了那些没有经常付费的用户。我不喜欢ID: 304的说法,然后跳到ID:400 ...

是否有任何更改系统的方法,以便在我删除某人时将其ID更改为例如305然后继续?

这是强迫症,真让我烦恼。

3 个答案:

答案 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 其中YMAX(id) + 1