我正在尝试创建一个基本插入表的过程,然后在MySQL中对另一个表执行快速更新。请找到以下代码:
DROP PROCEDURE IF EXISTS `sp_insertUserSocial`
GO
CREATE PROCEDURE sp_insertUserSocial
(
IN p_userSocialID INT(11),
IN p_socialID INT(11),
IN p_userID INT(11),
IN p_referralID INT(11)
)
BEGIN
INSERT INTO UserSocial
(
userSocialID,
socialID,
userID,
referralID
)
VALUES
(
IN p_userSocialID,
IN p_socialID,
IN p_userID,
IN p_referralID
) ;
UPDATE Users
SET connCount = connCount + 1
WHERE UserID = p_referralID;
END
GO
在PHPAdmin中,它给我一个语法错误,但我不确定它究竟在哪里?它说第23行,这让我觉得它是分号,但我认为在插入语句后需要这些?
感谢任何帮助,谢谢!
答案 0 :(得分:0)
我看到了几个问题:
GO,必须指定DELIMITER
。 19.1. Defining Stored Programs
在INSERT(13.2.5. INSERT Syntax)中,IN
是可选的,用于将参数传递给存储过程(13.1.15. CREATE PROCEDURE and CREATE FUNCTION Syntax),但不是{{{1}}语法的一部分。 3}}