变量声明中的MySQL语法错误

Sup*_*ewd 6 mysql syntax stored-procedures variable-declaration

我有以下MySQL查询:

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//
Run Code Online (Sandbox Code Playgroud)

我收到错误:

DECLARE winnerScore, loserScore INT;
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

The*_*ter 5

DECLARE需要继续你的程序的第一行.

来自文档:

DECLARE只允许在BEGIN ... END复合语句中使用,并且必须在其开始之前,在任何其他语句之前.