This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA

错误信息: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 没有sql语句
  • READS SQL DATA 只是读取数据
  • MODIFIES SQL DATA 要修改数据
  • CONTAINS SQL 包含了SQL语句

解决方法

  1. 方法一:
    第一种是在创建子程序(存储过程、函数、触发器)时,声明为DETERMINISTIC或NO SQL与READS SQL DATA其中的一个。
示例:CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`()     
DETERMINISTIC BEGIN.......
  1. 方法二:
    (1)在执行sql语句前,在客户端执行如下语句:
    SET GLOBAL log_bin_trust_function_creators = 1;
    (2)在配置文件my.ini或my.cnf文件中加上以上字段即可。
    方法二中两种解决方法的区别是:在(1)中从启数据库时就会失效,只能作为零时的决绝方法。在(2)中该设置一直有效,对配置文件进行修改后,需要重启服务。
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值