自定义mysql自增序列:

序列在pg库中有,可以直接点击操作sequences新建就行,但是mysql中没有,使用时,可以通过自定义函数和建表的方式来实现

1 创建序列表

CREATE TABLE my_sequence(
sequence_name VARCHAR(50) NOT NULL,
current_value INT NOT NULL,
_increment INT(1) NOT NULL DEFAULT 1,
PRIMARY KEY(sequence_name)
);
sequence_name:序列显示的名字;
current_value:返回的数值;
_increment:每次自增的值;

2 向表中插入自增序列

INSERT INTO my_sequence VALUES('test_sequence',1,1);

3 自定义自增函数

DELIMITER //
CREATE FUNCTION nextval(n VARCHAR(50)) RETURNS INTEGER
BEGIN
DECLARE cur INT;
SET cur=(SELECT current_value FROM my_sequence WHERE sequence_name=n);
UPDATE my_sequence
SET current_value=current_value+_increment
WHERE sequence_name=n;
RETURN cur;
END;
//

4 调用自增函数获取自增值

SELECT nextval('test_sequence');