简单的mysql函数中的“找不到返回”错误

时间:2019-11-28 14:09:34

标签: mysql phpmyadmin mysql-function

我将xampp与phpMyAdmin一起使用来管理MySql数据库。 创建函数时,出现“找不到退货”错误,因此我精简了该函数,以将错误的根源缩小到最简单的情况,即仍然无法正常工作。

Code

错误消息是这样的:

Error message

显然,如果RETURN语句不是代码上唯一的内容,我就会报错。

2 个答案:

答案 0 :(得分:3)

假设针对MySQL执行的实际代码是:

CREATE FUNCTION `Contagem`() RETURNS INT(11)
SET @c = 0;
RETURN @c;

这将失败,因为您尚未将函数包装在BEGIN ... END中。

尝试将其写为您的函数声明:

BEGIN
    SET @c = 0;
    RETURN @c;
END;

或者,直接在MySQL中自己声明函数:

DELIMITER $$

CREATE FUNCTION `Contagem`() RETURNS INT(11)
BEGIN
    SET @c = 0;
    RETURN @c;
END $$

DELIMITER ;

答案 1 :(得分:1)

在查看这篇文章时,我正在更仔细地阅读错误消息,我意识到定义函数的MySql代码中没有BEGINEND

我假设在用几行键入功能代码时phpMyAdmin会知道如何处理它,因为代码文本框支持多行代码。

因此,将BEGIN放在代码的开头,并将END放在代码的末尾解决了我的问题。