MySQL 自增序列

-- 5.7.23
select version();

-- 非主键形式的自增字段
create table test3
(
 id int auto_increment not null,
 str varchar(2),
 key(id)
);

-- 自增默认从1开始
insert into test3(str) values('ab');
insert into test3(str) values('cd');

 

-- truncat后,自增序列重新开始
truncate test3;
insert into test3(str) values('ef');

 

-- 设置自增开始值
alter table test3 AUTO_INCREMENT=100;

insert into test3(str) values('gh');

 

-- 同时 创建自增序列字段,与主键

create table test4
(
 id int auto_increment not null,
 str varchar(2),
 num int,
 key(id),
 PRIMARY KEY(str)
);

 

-- duplicate 同样生效

insert into test4(str, num) values('ab',12) on duplicate key update num = num + values(num);

insert into test4(str, num) values('ab',12) on duplicate key update num = num + values(num);

select * from test4;

-- 查询下一个,自增序列的值

SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'test4';

注意:使用duplicate 会使,自增序列,出现跳跃式增长。遇到不要感到意外,哈哈~

 

END

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值