简体   繁体   English

变量声明中的 MySQL 语法错误

[英]MySQL Syntax Error In Variable Declaration

I have the following MySQL query:我有以下 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//

I get an error on:我收到一个错误:

DECLARE winnerScore, loserScore INT;

What am I doing wrong?我究竟做错了什么?

DECLARE s need to go on the first line of your procedure. DECLARE需要出现在程序的第一行。

From the docs :文档

DECLARE is permitted only inside a BEGIN ... END compound statement and must be at its start, before any other statements. DECLARE 只允许在 BEGIN ... END 复合语句中使用,并且必须在其开头,在任何其他语句之前。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM