我正在使用 xampp 和 phpMyAdmin 来管理 MySql 数据库。创建函数时,出现“未找到返回”错误,因此我剥离了函数以缩小错误的来源,我遇到了仍然无法正常工作的最简单情况。

错误信息是这样的:

显然,如果该RETURN语句不是代码中唯一的内容,我会收到错误消息。
我正在使用 xampp 和 phpMyAdmin 来管理 MySql 数据库。创建函数时,出现“未找到返回”错误,因此我剥离了函数以缩小错误的来源,我遇到了仍然无法正常工作的最简单情况。

错误信息是这样的:

显然,如果该RETURN语句不是代码中唯一的内容,我会收到错误消息。
假设对 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 ;
BEGIN在查看这篇文章时,我更仔细地阅读了错误消息,我意识到定义函数的 MySql 代码并没有END在其中。
我假设在输入多行函数代码时 phpMyAdmin 会知道如何处理它,因为代码文本框支持多行代码。
所以,把代码放在BEGIN开头和END结尾解决了我的问题。