如果你对自增字段有什么不了解的话,你可以搜索下相关定义。
简单来说就是一个数据表中需要一个主键,但是这个主键可能又没有什么具体的意义,你可以使用 AUTO_INCREMENT 来标识这条记录。
如果你还需要官方的定义,请参考下面的说明:
在 MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。
通过给字段添加 AUTO_INCREMENT 属性来实现主键自增长。语法格式如下:
AUTO_INCREMENT 说明
有下面的一些属性需要进行说明:
- 默认情况下,AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值自动加 1。
- 一个表中只能有一个字段使用 AUTO_INCREMENT 约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)。
- AUTO_INCREMENT 约束的字段必须具备 NOT NULL 属性。
- AUTO_INCREMENT 约束的字段只能是整数类型(TINYINT、SMALLINT、INT、BIGINT 等)。
- AUTO_INCREMENT 约束字段的最大值受该字段的数据类型约束,如果达到上限,AUTO_INCREMENT 就会失效。
一个用例
对 AUTO_INCREMENT 来说下一个值就是当前表格中最大的值 1。
如果中间有空的话,也不会返回自动填充。
这个是需要注意的。
如果你将表中的最大值修改为其他一个值的话,那么下一个值就是这个值 1。
上面的表格就是这个说明。
我们尝试让一个 id 从 1001 开始,1001 的值是我们手动填充到表中的。
当我插入一个新数据的时候,新插入的数据的值是自动从 1002 开始的。
哪怕我们没有对 AUTO_INCREMENT 进行修改,表也不会将数据填充会丢失的数据。
https://www.ossez.com/t/mariadb-auto-increment/13916