我正在尝试在我的主机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中使用该代码时,运行正常。
答案 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 ;