【问题标题】:MySQL Syntax Error In Variable Declaration变量声明中的 MySQL 语法错误
【发布时间】:2011-02-22 20:29:09
【问题描述】:

我有以下 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//

我收到一个错误:

DECLARE winnerScore, loserScore INT;

我做错了什么?

【问题讨论】:

    标签: mysql stored-procedures syntax variable-declaration


    【解决方案1】:

    DECLAREs 需要进入程序的第一行。

    来自docs

    DECLARE 只允许在 BEGIN ... END 复合语句和 必须在开始,在任何其他之前 声明。

    【讨论】:

      猜你喜欢
      • 2014-09-22
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 2018-12-14
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 2020-04-16
      相关资源
      最近更新 更多