我正在使用 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
结尾解决了我的问题。