1. primary key 主键 和 auto_increment 自增
- primary key: 约束(不能重复且不能为空)-> 可以实现快速查找
- auto_increment: 内容自增(例如 id 自动增加)-> 如果使用 auto_increment 一定要将该字段设置为主键
- auto_increment 一般和 primary key 搭配着使用
- 一个表中正能有一个主键 和 一个自增列
# 写法一
create table t1(
id int auto_increment primary key,
name varchar(10)
) engine=innodb default charset=utf8;
# 写法二
create table t1(
id int auto_increment,
name varchar(10),
primary key(id)
) engine=innodb default charset=utf8;
- 虽然一个表中只能有一个主键,但是一个主键可以由多个列组成 -> 很少使用了解就可以了
create table t1(
id int auto_increment,
pid int not null,
name varchar(10),
primary key(id,pid)
)engine=innodb default charset=utf8;

2.修改 auto_increment 自增序列的起始值
- 如果将id设置为主键和自增列的话,那么此时再插入一条数据且该数据的id会接着上一次的id开始自增,如果不想跟着上一个所删除的序列开始自增,而是按顺序的往下自增,这样可以通过修改自增序列的起始值来实现
- 通过查看表是如何创建的可以得到下一个自增序列
# show create table 表名;
show create table t1;

- 通过修改表的SQL语句修改表中的下一个自增序列
# alter table 表名 auto_increment = 下一个自增序列;
alter table t1 auto_increment = 2;

← 临时表 使用MySQl的注意事项 →