在mySQLi数据库的ID列中填写GAP

时间:2012-10-30 02:54:07

标签: php database mysqli

  

可能重复:
  How to fill in the “holes” in auto-incremenet fields?

我在删除数据库中的用户时遇到问题,即使列中有跳过的数字,ID列也会一直跳过并继续递增。

代表:

+---------+----------+---------+
|   ID    |  first   |   last  |
+---------+----------+---------+
|    1    |    a     |    a    |
+---------+----------+---------+
|    3    |    c     |    c    |
+---------+----------+---------+
|    4    |    d     |    d    |
+---------+----------+---------+
|    5    |    e     |    e    |
+---------+----------+---------+
|    7    |    g     |    g    |
+---------+----------+---------+
|    9    |    i     |    i    |
+---------+----------+---------+

无论如何都要在创建新用户时自动填写ID列上的空白? 或者只是调整列表中的剩余用户来填补空白?

我是数据库结构的新用户,所以请对我很轻松。

1 个答案:

答案 0 :(得分:0)

这就是自动增量列的工作原理。差距不会导致性能或任何问题。间隙可能导致问题的唯一方法是,如果您经常删除行并接近列的最大值(可能是40亿)。如果您要在间隙中将ID更改为fll,则必须确保更新对ID的每个引用,这通常不值得。总之,您可以忽略这些差距。