这是我的功能
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行
答案 0 :(得分:3)
您只能说明结果的类型,提供标识符是没有用的,所以:
CREATE FUNCTION specialUser(user INT) RETURNS INT
而不是
CREATE FUNCTION specialUser(user INT) RETURNS user_id INT