1

我正在尝试在 MySQL 中创建一个用户定义的函数以生成唯一的数字。由于 MySQL 的 auto_increment 特性只是将它的种子加一,我需要有这样一个函数来处理需要加一以上的字段。这是我的 SQL 脚本:

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 中创建这种函数非常容易。很高兴你能帮我找出解决这个问题的办法。目前,我面临一些语法错误。最基本的与我的事务和选择语句的语法有关。

4

1 回答 1

0

请参阅此处的文档:http: //dev.mysql.com/doc/refman/5.0/en/replication-options-master.html#sysvar_auto_increment_increment

您可以更改 auto_increment_increment 的值,通常为 1。

于 2013-03-09T06:08:51.830 回答