为啥我的 MySQL 表主键不会自动增加?

Posted

技术标签:

【中文标题】为啥我的 MySQL 表主键不会自动增加?【英文标题】:Why my MySQL table Primary Key does not increase Automatically?为什么我的 MySQL 表主键不会自动增加? 【发布时间】:2020-12-10 03:37:58 【问题描述】:

我很好奇为什么我的表主键没有按照它的顺序增加?

在我插入之前,我的表是:

我尝试使用以下方法插入一行:

INSERT INTO `wwt_film`.`film` (`film_name`, `film_time`, `director`, `play_time`, `poster_url`, `is_delete`) VALUES ('test2', '2020-12-24', 'director23', '120', '/img/108.jpg', '1');

我认为它应该可以帮助我插入一行带有 film_id '19' 的行。但是,我得到下表,其中有一个带有 film_id '38' 的新行 我不知道为什么,有人可以帮忙吗??

【问题讨论】:

您是否删除了任何行? 是的,我已经删除了行。 那么这就是原因。删除行不会重置自动增量值。如果需要,您可以重置。 【参考方案1】:

那是因为您删除了一些行。删除行不会重置自动增量值。您可以通过ALTER TABLE tablename AUTO_INCREMENT = value重置它。

【讨论】:

...但您可能不应该这样做。设计您的应用程序,让差距不再重要。

以上是关于为啥我的 MySQL 表主键不会自动增加?的主要内容,如果未能解决你的问题,请参考以下文章

sql创建表格语句主键自动增加

怎么用SQL语句CREATE TABLE的主键为“自动增加”

mysql表中一个表中可以有多个主键吗?

mysql表主键从给定值开始自动增长是怎么回事?

mysql表主键从给定值开始自动增长是怎么回事?

mysql数据库主键设置了自增,但是,我把删除了一些数据,随后加的数据为啥会自增ID会接着已经删除了的