在MySQL中创建用户定义的函数来处理auto_increment
问题描述:
我想在MySQL中创建一个用户定义的函数,以便生成唯一的数字。由于MySQL的auto_increment功能只是将它的种子增加一个,所以我需要有这样一个函数来处理需要增加一个以上的字段。这里是我的SQL脚本:在MySQL中创建用户定义的函数来处理auto_increment
DELIMITER $$
CREATE FUNCTION `getUniqueID`(
id_type CHAR(1)
) RETURNS INT(10)
BEGIN
DECLARE run INT(10);
START TRANSACTION;
SELECT unique_gen_id INTO @run FROM tbl_unique_seed WHERE id_type = @id_type;
UPDATE tbl_unique_seed SET unique_gen_id = (unique_gen_id + 1) WHERE id_type = @id_type;
COMMIT;
RETURN run;
END$$
DELIMITER ;
我没有太多的MySQL经验,但在SQL Server中创建这种功能非常简单。你会很高兴帮我找出解决这个问题的办法。目前,我正面临一些语法错误。最基本的与我的事务和select语句的语法有关。
答
您可以更改auto_increment_increment的值,通常为1
+0
根据您提供的链接,_auto_increment_increment_用于设置整个会话或数据库的增量值,但我需要为我的表格设置可变增量值。 – 2013-03-09 06:17:57
我曾尝试使用一个表来存储的种子并通过此功能增加它。但是,似乎我有一些语法错误,使我无法创建此函数。 – 2013-03-10 08:36:15
编辑你的问题并说出你所尝试过的东西(你提到了语法错误,请确保包含这些错误)。 – 2013-03-10 09:12:12