1.介绍
- 在 MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。
- 通过给字段添加 auto_increment 属性来实现主键自增长
2.语法
字段名 数据类型 auto_increment
create table student(
id int primary key auto_increment,
name varchar(10),
age int
);
3.特点
- 默认情况下,
auto_increment
的初始值是 1,每新增一条记录,字段值自动加 1。 - 一个表中只能有一个字段使用 auto_increment约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)。
auto_increment
约束的字段必须具备 NOT NULL
属性。auto_increment
约束的字段只能是整数类型:TINYINT、SMALLINT、INT、BIGINT
等。auto_increment
约束字段的最大值受该字段的数据类型约束,如果达到上限,auto_increment
就会失效。
4.指定自增字段初始值
create table student(
id int primary key auto_increment,
name varchar(10),
age int
)auto_increment = 50;
5.delete和truncate在删除后自增列的变化
delete
数据之后自动增长从断点开始truncate
数据之后自动增长从默认起始值开始