首页 > 数据库技术 > 详细

MySQL新建函数或过程 出现错误1418 的原因分析及解决方法

时间:2019-02-28 18:19:18      阅读:171      评论:0      收藏:0      [点我收藏+]

Date: 2019年2月28日 18:05:19

具体报错:

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)

报错原因:

  https://www.jb51.net/article/97373.htm(搬运一下)

解决办法:

  上面链接也提到了解决办法,下面是个人感觉较合适的解决办法

1.如果是本人的开发库等,有权去做处理数据库配置的话,建议如下处理

  在MySQL配置文件my.ini或my.cnf中的[mysqld]段上加log-bin-trust-function-creators=1

  附:my.ini的文件怎么查找:https://jingyan.baidu.com/article/7e4409531f75292fc0e2efe7.html

2.创建子程序(存储过程、函数、触发器)时,声明为DETERMINISTIC或NO SQL与READS SQL DATA中的一个

  例如:

CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`()
  DETERMINISTIC
BEGIN
 #Routine body goes here...
END;

  

 

MySQL新建函数或过程 出现错误1418 的原因分析及解决方法

原文:https://www.cnblogs.com/liangzhihong/p/10452100.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!