mysql数据库给表创建序列

今天自己在玩项目时,发现自己没有弄过序列,以前只是用过,今天一用才发现,还是有点学问的:
mysql和oracle数据库创建索引还是不一样的
oracle数据库自带创建索引功能,某些特定客户端可以直接使用工具创建索引,很简单,在这里就不细说了
但是mysql创建索引就需要一步一步写sql来执行了,话不多说,一步一步的流程如下,博主亲测。

mysql数据库给表创建序列

第一步:创建--Sequence 管理表
drop table if exists sequence;
create table sequence(name varchar(50) not null,current_value int not null,_increment int not null default 1, primary key(name)); 
第二步:创建某条具体索引
(三个参数为 索引名,启示值,自增值)
insert into sequence values('seq_opt_log',1000000,1);

第三步:创建--取下一个值的函数
DROP FUNCTION IF EXISTS `nextval`;
create function nextval(n varchar(50)) returns integer
begin
declare _cur int;
set _cur=(select current_value from sequence where name= n);
update sequence
set current_value = _cur + _increment
where name=n ;
return _cur;
end;
第四步:获取序列值
(seq_opt_log为第二步中所设置具体索引名)
select nextval('seq_opt_log');
完结。
使用时直接执行SQL:select nextval('seq_opt_log'); 即可

在这里面,每个创建table和创建function之前我都drop一下是为了防止在该数据库在建这个table之前或者function之前已经有相应对象,这也是写
DDL语言应该具备的良好习惯。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值