解决1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and b

本文介绍了在MySQL5.0版本中创建存储过程时遇到的错误1418,并提供了详细的解决方案。通过调整log_bin_trust_function_creators参数,可以避免因开启binlog而产生的函数声明相关错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在mysql5.0版本中创建存储过程时,出现:


1418 - This function has none of DETERMINISTIC, NOSQL, or READS SQL DATA in its declaration and binary logging isenabled (you *might* want to use the less safelog_bin_trust_function_creators variable)错误。


原因是开启了log-bin日志,创建函数时,函数中没有包含DETERMINISTIC, NOSQL和 READS SQL DATA声明,即没有涉及修改数据。



解决:
  1、查出log_bin_trust_function_creators的值
    mysql--> show variables like 'log_bin_trust_function_creators'

    log_bin_trust_function_creators     OFF


  2、修改该值为ON

   mysql-->set global log_bin_trust_function_creators=1;


解决问题,不过要使该参数重启之后不失效,要在my.cnf修改为ON






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值