1

ホストの 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 構文にエラーがあります。3 行目の near '' を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

ここでこのエラーが発生するのはなぜですか? そのコードを MySQL Workbench で使用すると、問題なく動作しました。

4

1 に答える 1

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 ;
于 2012-10-20T17:42:57.030 に答える