標識列又稱爲自增長列
含義:可以不用手動的插入值,系統提供默認的序列值
特點:
- 可以不和主鍵搭配,但要求是一個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;