3.5_标识列
/*
又称为自增长列
含义:
可以不用手动的插入值,系统提供默认的序列值
特点:
1、标识列必须和主键搭配吗?不一定,但要求是一个key
2、一个表可以有几个标识列?至多一个!
3、标识列的类型只能是数值型
4、标识列可以通过 SET auto_increment_increment=3;设置步长
可以通过 手动插入值,设置起始值
*/
一、创建表时设置标识列
DROP TABLE IF EXISTS TAB_IDENTITY;
CREATE TABLE IF NOT EXISTS TAB_IDENTITY(
ID INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);
TRUNCATE TABLE TAB_IDENTITY; #删除数据 从1开始
INSERT INTO TAB_IDENTITY VALUES(NULL,'JOHN'); #多次执行 实现自增长
INSERT INTO TAB_IDENTITY(NAME) VALUES('LOVE'); #多次执行 实现自增长
SELECT *FROM TAB_IDENTITY;
SHOW VARIABLES LIKE '%auto_increment%';
SET auto_increment_INCREMENT=3; #设置步长3
二、修改表时设置标识列
DROP TABLE IF EXISTS TAB_IDENTITY;
CREATE TABLE IF NOT EXISTS TAB_IDENTITY(
ID INT,
NAME VARCHAR(20)
);
ALTER TABLE TAB_IDENTITY MODIFY COLUMN ID INT PRIMARY KEY AUTO_INCREMENT;
INSERT INTO TAB_IDENTITY(NAME) VALUES('LOVE'); #多次执行 实现自增长
三、修改表时删除标识列
ALTER TABLE TAB_IDENTITY MODIFY COLUMN ID INT;