Py学习  »  DATABASE

int id在删除条目时跳转数字,在mysql中添加

Jashandeep Singh • 5 年前 • 1441 次点击  
  1. 实际上,我已经编写了一个代码来删除和添加mysql表中的新用户,并且两者都正常工作。
  2. 而id是主键和自动增量。
  3. 问题是,假设最后一个条目的id为“9”,当我删除该条目并添加新条目时,新条目的id为“10”,而不是“9”。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47359
 
1441 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Karol Dowbecki
Reply   •   1 楼
Karol Dowbecki    6 年前

根据 3.6.9 Using AUTO_INCREMENT 15.6.1.5 AUTO_INCREMENT Handling in InnoDB 一次 auto_increment 值是生成的,不可重用。从表中删除行时,您将看到 自动递增 编号顺序。

即使插入事务有回滚:

如果生成自动增量值的事务回滚,则这些自动增量值将丢失。一旦为自动递增列生成值,就不能回滚该值,不管是否完成了“insert-like”语句,也不管包含的事务是否回滚。这样丢失的值不会被重用。因此,存储在表的自动递增列中的值可能有间隙。