我将xampp与phpMyAdmin一起使用来管理MySql数据库。 创建函数时,出现“找不到退货”错误,因此我精简了该函数,以将错误的根源缩小到最简单的情况,即仍然无法正常工作。
错误消息是这样的:
显然,如果RETURN
语句不是代码上唯一的内容,我就会报错。
答案 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代码中没有BEGIN
和END
。
我假设在用几行键入功能代码时phpMyAdmin会知道如何处理它,因为代码文本框支持多行代码。
因此,将BEGIN
放在代码的开头,并将END
放在代码的末尾解决了我的问题。