创建函数mysql错误

时间:2010-11-30 12:50:08

标签: mysql

这是我的功能

DELIMITER //
CREATE FUNCTION specialUser(user INT) RETURNS user_id INT
BEGIN
    DECLARE user_id INT DEFAULT 0;
    CASE 
     WHEN user = 1556 THEN SET user_id = 1001;
     WHEN user = 1018 THEN SET user_id = 1002;
     WHEN user = 3658 THEN SET user_id = 1003;
         ELSE SET user_id = user;
    END CASE;
 RETURN user_id;
END//

我收到错误:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'user_id INT附近使用正确的语法     开始         DECLARE user_id INT DEFAULT 0;         案件         '第1行

1 个答案:

答案 0 :(得分:3)

您只能说明结果的类型,提供标识符是没有用的,所以:

CREATE FUNCTION specialUser(user INT) RETURNS INT

而不是

CREATE FUNCTION specialUser(user INT) RETURNS user_id INT