mysq 中默认没有类似 oracle 的sequence 功能,我们自己写函数实现类似功能。
大致思路:
首先,建立一个存放seq的表,字段包括:当前值,自增值。
然后,定义nextval,currval函数,分别实现获取下次增长值和当前值。
1 | drop table if exists cm_sequence; |
1 | drop function if exists func_currval; |
1 | drop function if exists func_nextval; |
1 | insert into cm_sequence values('seq_cs',0,1); |
1 | lock tables cm_sequence write |