MySQL语法错误

时间:2012-10-20 17:39:23

标签: mysql stored-procedures

我正在尝试在我的主机mysqladmin页面上执行以下代码。

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

我得到的错误是:

#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第3行的''附近使用正确的语法

为什么会发生此错误?当我在MySQL Workbench中使用该代码时,运行正常。

1 个答案:

答案 0 :(得分:2)

试试这个,

DELIMITER $$
CREATE PROCEDURE `follow` 
(
    IN in_follower INT (11) ,
    IN in_followee VARCHAR(45)
)
BEGIN
        INSERT INTO follower ( follower_id , followee_id )
        SELECT in_follower AS follower_id, user_id
        FROM user
        WHERE username = in_followee;
END$$
DELIMITER ;