一、原理
在数据库中建立ID序列表记录ID值,其中包含两个重要字段,一个是初始值,另一个是步幅。建立表如下:

二、建立sql函数

其分别sql语句为:
currval函数
- CREATE DEFINER=`root`@`localhost` FUNCTION `currval`(`keyname` varchar(50)) RETURNS int
- BEGIN
- DECLARE v int;
- SET v=0;
- SELECT CURR_VAL INTO v from sequence WHERE SEQNAME=keyname;
- RETURN v;
- END
nextval函数
- CREATE DEFINER=`root`@`localhost` FUNCTION `nextval`(seq VARCHAR(50)) RETURNS int
- BEGIN
- UPDATE sequence SET CURR_VAL=CURR_VAL+INCREMENT_VAL WHERE SEQNAME=seq;
- RETURN currval(seq);
- END
三、xml中查询当前ID
select nextval(#{seq})