尝试创建过程时出现该错误。我不知道出了什么问题,如果有人遇到与我相同的错误,我进行了很多搜索,但是通常他们会误以定界符,而且我认为我的理解是正确的。

“您的SQL语法有误;请查看与您的MySQL服务器版本相对应的手册,以了解在'附近使用的正确语法)
从robatori WHERE param1 = jugador_lla'的第1行中选择SELECT SUM(robatori.quantitat_robada)

我的查询是下一个:

DELIMITER //
CREATE PROCEDURE robatoris (IN param1 VARCHAR)
SELECT SUM(robatori.quantitat_robada) FROM robatori WHERE param1=jugador_lladre;
//
DELIMITER ;


谢谢大家,这是我的第一个问题。 :)

最佳答案

您缺少类型为VARCHAR的输入参数的长度。

如下更改:

DELIMITER //
CREATE PROCEDURE robatoris ( IN param1 VARCHAR(255) )
  SELECT SUM(robatori.quantitat_robada)
    FROM robatori
   WHERE param1=jugador_lladre;
//
DELIMITER ;


因为只有语句要执行,所以BEGIN-END块是可选的。
但是建议在所有情况下都进行实践。

DELIMITER //
CREATE PROCEDURE robatoris ( IN param1 VARCHAR(255) )
BEGIN
  SELECT SUM(robatori.quantitat_robada)
    FROM robatori
   WHERE param1=jugador_lladre;
END;
//
DELIMITER ;

10-08 19:29