0

可能重复:
如何填写自动增量字段中的“漏洞”?

我在删除数据库中的用户时遇到问题,ID 列总是跳过并且继续增加,即使列内有跳过的数字。

例如:

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

在创建新用户时,是否有自动填充我的 ID 列上的空白?还是只是调整列表中剩余的用户来填补空白?

4

1 回答 1

0

这就是自动递增列的工作方式。这些差距不会导致任何性能问题或任何问题。间隙可能导致问题的唯一方法是,如果您经常删除行并接近列的最大值(可能是 40 亿)。如果要更改 id 以填补空白,则必须确保对 ID 的每个引用都已更新,这通常不值得麻烦。总之,您可以忽略这些差距。

于 2012-10-30T03:00:04.110 回答