mysql - MySQL - 如何修复函数创建错误 1418
问题描述
我正在使用 mysqlWorkbench
我已经按照我的导师提供的示例工作和其他用户的建议进行了操作,但现在在尝试创建函数时收到 1418 错误,如下所示:
错误代码:1418。此函数在其声明中没有 DETERMINISTIC、NO SQL 或 READS SQL DATA,并且启用了二进制日志记录(您可能希望使用不太安全的 log_bin_trust_function_creators 变量)0.00069 秒
功能如下:
DELIMITER £
CREATE FUNCTION Calc(ReferenceNumber INTEGER)
RETURNS INTEGER
BEGIN
DECLARE NUMCATS INTEGER;
SELECT SUM(BOOKCAT.Ref = ReferenceNumber) INTO NUMCATS
FROM CATTERY.BOOKCAT;
RETURN NUMCATS;
END £
DELIMITER ;
select calc(7);
让我知道我做错了什么以及如何纠正它,谢谢。
解决方案
错误信息很清楚。您需要在函数定义中添加提及的关键字之一以使其有效。
考虑:
DELIMITER £
CREATE FUNCTION Calc(ReferenceNumber INTEGER)
RETURNS INTEGER
DETERMINISTIC
BEGIN
DECLARE NUMCATS INTEGER;
SELECT SUM(BOOKCAT.Ref = ReferenceNumber) INTO NUMCATS
FROM CATTERY.BOOKCAT;
RETURN NUMCATS;
END £
DELIMITER ;
推荐阅读
- javascript - 为什么axios拦截器中不能设置cookies
- c# - 如果单击图像或文本,则仅单击自定义选项卡项
- php - 使用 guzzle 的多 CURL
- pdf - 如何运行 imagemagick 仅将多个 PDF 文件的第一页批量转换为 JPEG?
- reactjs - 仅在第二次执行时反应更新状态
- powershell - 无法在 powershell 的 try/catch 语句中捕获异常
- go - 如何使用接口和反射定义安全划分?
- c# - UWP 滑块 滑动后
- bash - Escape characters in AWK script within bash script
- django - Difference between my droplet's postgres database and a newly created managed database