MySQL中的自动增量

ahe*_*ang 2 mysql

我的表中有一个主键列自动递增.但是,当我从具有最高主键ID的表中删除一行时(假设为11).然后,当我下次插入时,它将键插入12而不是11(尽管逻辑上它可以使用11,因为没有与键11相关联的条目).我怎样才能做到这一点?

Nan*_*nne 6

你真的确定要这个吗?自动增量列将保证唯一的数字,这就足够了.您可以更新下一个自动增量值(我将不得不查看它是如何工作的),但我认为您不应该这样做.

如果您需要控制列中的数字,则应手动执行此操作.

不过,您可以像这样更改自动增量数:

ALTER TABLE tbl AUTO_INCREMENT = 100;
Run Code Online (Sandbox Code Playgroud)

(来自:http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html)

另一句话:如果你有数字1到10,你删除5,你就不能轻易做到这一点.你很难做出下一个auto_increment 5因为6已经存在了.再说一遍,虽然你可以为你的例子做一些肮脏的事情,但在真实的环境中做这件事真的很难.也许开始一个新的问题描述你的情况,并征求建议如何在没有auto_increment技巧的情况下解决这个问题:)

  • 是.您不应该再次使用已删除的ID. (2认同)