This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary log

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary log_第1张图片

 

1、本地解决办法:在mysql中执行以下命令

SET GLOBAL log_bin_trust_function_creators=TRUE;

2、也可以通过修改配置文件的方式解决:

在my.ini(linux下为my.conf)文件中 [mysqld] 标记后加一行内容为(修改后需重启MySQL服务):

log-bin-trust-function-creators=1

 

原因解释来源于网络,出处作者不详:

这是我们开启了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指定一个参数。

 

你可能感兴趣的:(MySQL)