我在localhost上开发时使用MySQL Workbench,以下存储过程工作正常。
CREATE PROCEDURE `follow`(IN in_follower INT(11), IN in_followee VARCHAR(45))
BEGIN
INSERT INTO follower (follower_id, followee_id)
VALUES (in_follower,(SELECT `user_id` FROM user WHERE `username` = in_followee));
END
当我尝试创建1and1服务器的过程时,SQL会因以下错误而被拒绝:
错误#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第4行的''附近使用正确的语法
究竟是什么?
答案 0 :(得分:0)
根据docs,我认为您的语法应为:
CREATE PROCEDURE `follow`(IN in_follower INT(11), IN in_followee VARCHAR(45))
INSERT INTO follower
(follower_id, followee_id)
SELECT in_follower, `user_id`
FROM user
WHERE `username` = @in_followee);
END
我很惊讶你原来的语法在本地工作,说实话......