mysql学习笔记-标识列

标识列(自增长列)
含义:系统提供默认的系列值
特点:标识列不一定是主键,但必须是一个key
1.创建表时设置标识列
2.一个表最多只能有一个标识列
3.标识列的类型只能是数值型
4.标识列
设置起始值
SET auto_increment_offset=4;
设置步长
SET auto_increment_increment=3;
一、创建表时设置标识列
DROP TABLE IF EXISTS tab_identity;
CREATE TABLE tab_identity(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);
TRUNCATE TABLE tab_identity;
INSERT INTO tab_identity VALUES(NULL,‘john’);
INSERT INTO tab_identity(NAME) VALUES(‘lucy’);

SHOW VARIABLES LIKE ‘%AUTO_INCREMENT%’;

SET auto_increment_offset=4;
SET auto_increment_increment=3;

二、修改表时设置标识列
ALTER TABLE tab_identity MODIFY COLUMN id INT PRIMARY KEY AUTO_INCREMENT;

三、修改表时删除标识列
ALTER TABLE tab_identity MODIFY COLUMN id INT ;

四、获取自增id

1.SELECT MAX(id) FROM tablename
2.SELECT LAST_INSERT_ID() 函数

LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。

3.select @@IDENTITY;

@@identity 是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。

使用@@identity的前提是在进行insert操作后,执行select @@identity的时候连接没有关闭,否则得到的将是NULL值。

4.SHOW TABLE STATUS;
得出的结果里边对应表名记录中有个Auto_increment字段,里边有下一个自增ID的数值就是当前该表的最大自增ID.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值