小编典典

mysql删除,自动递增

sql

我在使用InnoDB的MySQL中有一个表,其中有一列名为“ id”的列。

所以我的问题是,每当我从表中删除最后一行然后插入新值时,新值都会在删除的ID之后插入。

我的意思是假设我的id是32,我想删除它,然后如果我在删除后插入新行,则列id会自动递增到33。因此序列格式被破坏了,即id =
30,31,33而且不是32。

因此,当我删除最后一列后插入时,请帮我分配ID 32(而不是33)。


阅读 428

收藏
2021-05-05

共1个答案

小编典典

简短答案:不可以。

为什么?

  1. 这是不必要的工作。序列号之间是否有间隔都没关系。
  2. 如果您不希望这样做,请不要使用auto_increment。
  3. 不用担心,我保证,如果您的列的类型为int甚至bigint,也不会用完数字。
  4. 删除行时MySQL不会自动降低autoincrement值的原因是有原因的。这些原因是
    • 数据完整性受损的危险(想象多个用户执行删除或插入…可能会出现重复条目​​,甚至更糟)
    • 使用主从复制或事务时可能会发生错误
    • 等等 …

强烈 建议您不要在此上浪费时间!确实非常容易出错。

2021-05-05