【发布时间】:2016-01-02 18:54:56
【问题描述】:
我有一个关于 auto_incrementing 的问题,这是我的第一个表,它对递增 id* 非常顺利
id* name
1 name1
2 name2
3 name3
4 name4
5 name5
6 name6
但是当我删除一条记录并插入一条新记录时,id 从 7 开始。
id* name
1 name1
2 name2
3 name3
5 name5
6 name6
7 name7
这就是我想做的:
id* name
1 name1
2 name2
3 name3
4 name7
5 name5
6 name6
我想要一个填写每个数字的解决方案,所以如果我删除一行,下一个 autoinc 数字将是我删除的数字,而不是下一个更高的数字。
【问题讨论】:
-
不,没有办法轻松地重新初始化自动增量项目,这也不是一个好主意,但这里有一些解决方案的当前检查:stackoverflow.com/questions/740358/…
-
您尝试做的事情并不安全。想象一下,您有另一个带有外键“id”的表。如果您删除一行并尝试将所有其他行快速向上,则表之间的关系将中断。
-
永远不要乱用自动增量!
-
我建议您考虑一下您认为自己想要这个的原因,并可能问一个关于那个的问题。
-
为什么要这样做?它是非标准的,可能有一个不同的解决方案会更好。试着解释为什么你需要这样做