1、新建表
CREATE TABLE `sequence` ( `seq_name` varchar(45) NOT NULL COMMENT ‘sequence名‘, `seq_value` bigint(20) NOT NULL COMMENT ‘sequence值‘, `increment` int(3) NOT NULL DEFAULT ‘1‘ COMMENT ‘步进‘, PRIMARY KEY (`seq_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
2、插入初始数据
INSERT INTO `sequence` VALUES (‘SEQ_CERT‘, ‘26‘, ‘1‘);
3、编写function
delimiter // CREATE FUNCTION nextValue (s varchar(50)) RETURNS int(10) BEGIN DECLARE r integer; set r = 0; update sequence set seq_value = seq_value + increment where seq_name = s; select seq_value into r from sequence where seq_name = s; return r; END // delimiter ;
4、然后就可以使用function获取数据。
select nextValue(‘SEQ_CERT‘);