mysql - 标识列
阅读原文时间:2021年04月20日阅读:1

#标识列
/*
又称为自增长列
含义:可以不用手动插入值,系统提供默认的序列值

特点:
1.表示列必须和主键搭配吗?不一定,但是要求是一个key
2.一个表中只能有一个标识列!
3.标识列的类型有限制吗?只能是数值类型(int,float,double)
4.标识列可以通过set auto_increment_increment=3;设置步长,
可以通过 手动插入值, 设置起始值

*/
#一、创建表时设置标识列
create table tab_identity(
id int primary key,
name varchar(20)
);
show tables;

插入数据

insert into tab_identity values(1,"john");
insert into tab_identity values(2,"lily");
#这里的id编号你需要手动输入
select * from tab_identity;

如果你想实现自动的插入id列,你需要
drop table if exists tab_identity;
create table tab_identity(
id int primary key auto_increment,
name varchar(20)
);

插入数据

insert into tab_identity values(null,"john");
insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy")

查看变量auto_increment的参数

show variables like "%auto_increment%";
可以通过修改其实变量与步长来修改更新幅度
auto_increment_increment参数:步长
auto_increment_offset参数:起始位置
#修改步长
set auto_increment_increment=3;

show variables like "%auto_increment%";
#删除表中的数据
truncate table tab_identity;
select * from tab_identity;
#重新插入数据
insert into tab_identity values(null,"john");
insert into tab_identity values(null,"lily");
insert into tab_identity(name) values("lucy")
这时候表中的id顺序为1,4,7,。。。。

#起始值是不支持类似步长的修改的,如何修改呢?
#删除表中的数据
truncate table tab_identity;
select * from tab_identity;
#重新插入数据
insert into tab_identity values(10,"john");
insert into tab_identity values(null,"lily");
insert into tab_identity(name) values("lucy");
这时候表中的id顺序为10,13,16,。。。。
这个就对起始值进行了修改

#二、修改表时设置标识列(类似修改约束)
#准备表格
drop table if exists tab_identity;
create table tab_identity(
id int,
name varchar(20)
);
show variables like "%auto_increment%";
set auto_increment_increment=1;
desc tab_identity;
#设置标识列
alter table tab_identity modify column id int primary key auto_increment;

插入数据

insert into tab_identity values(null,"john");
insert into tab_identity values(null,"lily");
insert into tab_identity(name) values("lucy");

#三、修改表时删除标识列
alter table tab_identity modify column id int;
show index from tab_identity;

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章