0

我在本地主机上开发时使用 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 行的 '' 附近使用正确的语法

到底怎么回事?

4

1 回答 1

0

根据文档,我认为您的语法应该是:

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

老实说,我很惊讶你的原始语法在本地工作......

于 2012-09-28T14:13:47.610 回答