mysql 数据库创建function 的时候提示error 1418

本人菜鸟, 学习mysql数据库的时候 , 创建一个简单的function ,如下:

复制代码
DELIMITER //
create function add_num( a int  , b int  )  returns int 
begin 
	declare tot int ;
    set tot = a + b ;
    return tot ;
end//
DELIMITER ;

然后就提示错误 :

复制代码
ERROR code 1418:
 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled 
 (you *might* want to use the less safe log_bin_trust_function_creators variable)

查了许多度娘,然后就明白了 log_bin_trust_function_creators 的限制效果。

解决方法:

(1)首先查看 log_bin_trust_function_creators 的状态 , 看到是OFF ,要改为ON !

复制代码
 show variables like 'log_bin_trust_function_creators'  ;

(2) 修改状态

复制代码
SET @@global.log_bin_trust_function_creators='ON'  ;

(3)重新执行function代码 ,就可以了!!

相关推荐
果果燕1 分钟前
SQLite3数据库学习笔记1
数据库·sql·oracle
Forrit2 分钟前
RAG处理PDF图片:步骤顺序与完整流程
前端·数据库·pdf
Java面试题总结5 分钟前
MySQL高级SQL秘籍:性能飞升之路
sql·mysql·adb
Ares-Wang5 分钟前
flask 》》pymysql VS FastAPI aiomysql
数据库·flask·fastapi
yashuk6 分钟前
clickhouse-介绍、安装、数据类型、sql
数据库·sql·clickhouse
qq56801807610 分钟前
mysql数据被误删的恢复方案
数据库·mysql
倔强的石头_12 分钟前
文档数据库迁移实战:MongoDB 协议级兼容与 JSONB 引擎性能深度对比
数据库
鬼才血脉21 分钟前
CentOS 7 安装 MySQL 8.0
linux·mysql·centos
特别关注外国供应商24 分钟前
Gartner 2025 备份和数据保护平台的魔力象限,哪些供应商在内?
数据库
moton201728 分钟前
TLS会话恢复机制深度解析:Session ID、Ticket 与 TLS1.3 PSK架构
数据库·网络协议·安全·架构·ssl·物联网架构