写点什么

MariaDB 的自增字段 AUTO_INCREMENT 字段

作者:HoneyMoose
  • 2022 年 4 月 09 日
  • 本文字数:685 字

    阅读完需:约 2 分钟

如果你对自增字段有什么不了解的话,你可以搜索下相关定义。

简单来说就是一个数据表中需要一个主键,但是这个主键可能又没有什么具体的意义,你可以使用 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

用户头像

HoneyMoose

关注

还未添加个人签名 2021.03.06 加入

还未添加个人简介

评论

发布
暂无评论
MariaDB 的自增字段 AUTO_INCREMENT 字段_HoneyMoose_InfoQ写作平台