mysql实现sequence功能的代码
mysql实现sequence功能
1.建立sequence记录表
CREATETABLE`sys_sequence`( `seq_name`varchar(50)CHARACTERSETlatin1COLLATElatin1_binNOTNULL, `min_value`int(11)NOTNULL, `max_value`int(11)NOTNULL, `current_value`int(11)NOTNULL, `increment_value`int(11)NOTNULLDEFAULT'1', PRIMARYKEY(`seq_name`) )ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_bin;
2.建立sequence基础函数
DELIMITER$$ CREATEDEFINER=`root`@`%`FUNCTION`_nextval`(namevarchar(50))RETURNSint(11) begin declare_curint; declare_maxvalueint;--接收最大值 declare_incrementint;--接收增长步数 set_increment=(selectincrement_valuefromsys_sequencewhereseq_name=name); set_maxvalue=(selectmax_valuefromsys_sequencewhereseq_name=name); set_cur=(selectcurrent_valuefromsys_sequencewhereseq_name=name); updatesys_sequence--更新当前值 setcurrent_value=_cur+increment_value whereseq_name=name; if(_cur+_increment>=_maxvalue)then--判断是都达到最大值 updatesys_sequence setcurrent_value=min_value whereseq_name=name; endif; return_cur; end$$ DELIMITER;
3.插入想要建立的sequence
INSERTINTO`mydb`.`sys_sequence`
(`seq_name`,
`min_value`,
`max_value`,
`current_value`,
`increment_value`)
VALUES
('seq_name1',1,99999999,1,1);
4.使用sequence
select_nextval('seq_name1');
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短