Mysql 标识列

标识列又称为自增长列

含义:可以不用手动的插入值,系统提供默认的序列值

特点:

  • 可以不和主键搭配,但要求是一个key(unique)
  • 一个表中至多有1个标识列
  • 标识列的类型只能是数值型
  • 标识列可以通过 set_increment_increment = 3;设置步长,也可以通过手动插入值,设置初始值
  • 用delete清空表会标识列的当前序列,而truncate则不会

一、创建表时设置标识列

create table tab_identity(
        id int primary key auto_increment,
        name varchar(20)
)

insert into tab_identity values(NULL,'hee')
insert into tab_identity values(NULL,'wee')

使用auto_increment关键字使id自增长,在insert时为了符合insert 语法所以要在id处设置一个NULL。插入时并不会插入NULL,而是自动从1开始增长。不想加NULL的话,可以使用下列语法

insert into tab_identity(NAME) values('qee')

 

可以设置增长量

使用下列语句可以查看关于auto_increment有关的变量

show variables like '%auto_increment%';

可以看到有两个变量

上面那个是每次增长的量,下面那个是起始值,在mysql里这个起始值是设置不了的

只能设置增长量,可以用set来设置增长量

set auto_increment_increment =5;#每次增长5个

如果想改变初始值,可以在第一次插入的时候,指定起始值

insert into tab_increment values(10,'hhh'); #从10开始

二、修改表时设置标识列

alter table tab_identity modify id int primary key auto_increment

三、修改表时删除标识列

alter table tab_identity modify id int;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章