自定义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');