[Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration a

Posted cnb_yangwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration a相关的知识,希望对你有一定的参考价值。

问题:执行创建函数的sql文件报错如下;
[Err] 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)
 
解决办法也有两种, 第一种是在创建子程序(存储过程、函数、触发器)时,声明为DETERMINISTIC或NO SQL与READS SQL DATA中的一个, 
例如:
CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`()
DETERMINISTIC BEGIN #Routine body goes here... END;; 第二种是信任子程序的创建者,禁止创建、修改子程序时对SUPER权限的要求,设置log_bin_trust_routine_creators全局系统变量为1。 设置方法有三种: 1.在客户端上执行SET GLOBAL log_bin_trust_function_creators = 1; 2.mysql启动时,加上--log-bin-trust-function-creators选项,参数设置为1 3.在MySQL配置文件my.ini或my.cnf中的[mysqld]段上加log-bin-trust-function-creators=1

 



以上是关于[Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration a的主要内容,如果未能解决你的问题,请参考以下文章

This function has none of DETERMINISTIC, NO SQL

MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法

Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declarat

mysql 创建函数ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in

MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法 (转)

使用 Mongoose 将对象存储在对象数组中