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 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 '' 附近使用正确的语法

为什么这里会发生这个错误?当我在 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 回答