DELIMITER $$
USE `test`$$
DROP FUNCTION IF EXISTS `nextval`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `nextval`(seq_name VARCHAR(50)) RETURNS INT(11)
DETERMINISTIC
BEGIN
UPDATE sequence SET current_value = current_value + increment WHERE NAME = seq_name;
RETURN currval(seq_name);
END$$
DELIMITER ;
USE `test`$$
DROP FUNCTION IF EXISTS `nextval`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `nextval`(seq_name VARCHAR(50)) RETURNS INT(11)
DETERMINISTIC
BEGIN
UPDATE sequence SET current_value = current_value + increment WHERE NAME = seq_name;
RETURN currval(seq_name);
END$$
DELIMITER ;
本文介绍了一个MySQL自定义函数nextval,用于实现类似序列的功能。通过更新sequence表中的current_value字段来递增序列值,并返回当前值。该函数适用于需要自动生成唯一编号的场景。
4157

被折叠的 条评论
为什么被折叠?



