博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
This function has none of DETERMINISTIC, NO SQL...
阅读量:6137 次
发布时间:2019-06-21

本文共 1296 字,大约阅读时间需要 4 分钟。

hot3.png

This function has none of DETERMINISTIC, NO SQL解决办法

创建存储过程时

出错信息:

ERROR 1418 (HY000): 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)

 

原因:

这是我们开启了bin-log, 我们就必须指定我们的函数是否是

1 DETERMINISTIC 不确定的
2 NO SQL 没有SQl语句,当然也不会修改数据
3 READS SQL DATA 只是读取数据,当然也不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句
其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。

解决方法:

SQL code
mysql
> 
show variables 
like 
'log_bin_trust_function_creators
'
;
+
--
-------------------------------+-------+
| 
Variable_name                   
| 
Value 
|
+
--
-------------------------------+-------+
| 
log_bin_trust_function_creators 
| 
OFF   
|
+
--
-------------------------------+-------+
mysql
> 
set 
global log_bin_trust_function_creators
=
1
;
mysql
> 
show variables 
like 
' log_bin_trust_function_creators
'
;
+
--
-------------------------------+-------+
| 
Variable_name                   
| 
Value 
|
+
--
-------------------------------+-------+
| 
log_bin_trust_function_creators 
| 
ON    
|
+
--
-------------------------------+-------+
这样添加了参数以后,如果mysqld重启,那个参数又会消失,因此记得在my.cnf配置文件中添加:
log_bin_trust_function_creators=1

转载于:https://my.oschina.net/sansom/blog/123557

你可能感兴趣的文章
[20170628]12C ORA-54032.txt
查看>>
除以2
查看>>
高可用集群原理解析
查看>>
Nginx配置URL转向tomcat
查看>>
极客Web前端开发资源大荟萃#001
查看>>
让div固定在某个位置
查看>>
Java开发环境Docker镜像
查看>>
从无到有,WebService Apache Axis2初步实践
查看>>
任务调度(一)——jdk自带的Timer
查看>>
UIKit框架(15)PCH头文件
查看>>
整理看到的好的文档
查看>>
Linux磁盘管理和文件系统管理
查看>>
linux运维人员的成功面试总结案例分享
查看>>
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>