变量声明中的 MySQL 语法错误 [英] MySQL Syntax Error In Variable Declaration
本文介绍了变量声明中的 MySQL 语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下 MySQL 查询:
I have the following MySQL query:
DELIMITER //
CREATE PROCEDURE InsertResult (IN winnerID INT, IN loserID INT)
BEGIN
INSERT INTO KomperResult (WinnerID, LoserID) VALUES (@winnerID, @loserID);
DECLARE winnerScore, loserScore INT;
SELECT Score INTO @winnerScore FROM KomperPerson WHERE ID = @winnerID;
SELECT Score INTO @loserScore FROM KomperPerson WHERE ID = @loserID;
IF (@loserScore >= @winnerScore) THEN UPDATE KomperPerson SET Score = @loserScore + 1 WHERE ID = @winnerID; END IF;
END//
我收到一个错误:
DECLARE winnerScore, loserScore INT;
我做错了什么?
推荐答案
DECLARE
s 需要放在你的程序的第一行.
DECLARE
s need to go on the first line of your procedure.
来自文档:
DECLARE 只允许在BEGIN ... END 复合语句和必须在它的开始,在任何其他声明.
DECLARE is permitted only inside a BEGIN ... END compound statement and must be at its start, before any other statements.
这篇关于变量声明中的 MySQL 语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文