MySQL声明函数的时候报的异常,
翻译过来就是说:
1418-此函数的声明中没有DENTISTIC、NO SQL或READS SQL DATA,并且启用了二进制日志记录(您可能想要使用不太安全的log_bin_trust_function_creators变量)
查下log_bin_trust_function_creators变量是什么意思。
当二进制日志启用后,这个变量就会启用。它控制是否可以信任存储函数创建者,不会创建写入二进制日志引起不安全事件的存储函数。如果设置为0(默认值),用户不得创建或修改存储函数,除非它们具有除CREATE ROUTINE或ALTER ROUTINE特权之外的SUPER权限。 设置为0还强制使用DETERMINISTIC特性或READS SQL DATA或NO SQL特性声明函数的限制。 如果变量设置为1,MySQL不会对创建存储函数实施这些限制。 此变量也适用于触发器的创建。
那么就清楚了,修改一下这个值就行了。
set global log_bin_trust_function_creators=1;
然后完美解决