创建全局函数mysql_Navicat中Mysql自定义函数报错?

1. 在MySQL创建用户自定义函数时,报以下错误:

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)

2. 为什么?

这是因为有一个安全参数没有开启,log_bin_trust_function_creators 默认为0,是不允许function的同步的,开启这个参数,就可以创建成功了。

3. 设置 全局变量

set global log_bin_trust_function_creators=1;

#案例 1 创建存储过程 根据我们传入的成绩 来去显示等级, 比如说传入的成绩在90到100之间我们返回相应的级别 ;

show variables like '%fun%';

#开启安全参数 才可以创建函数。

set global log_bin_trust_function_creators=1;

CREATE FUNCTION text_in( score int)

RETURNS char

BEGIN

if score>=90 AND score<=100 THEN return 'A';

ELSEIF score>=80 THEN return 'B';

ELSEIF score>=60 then return 'C';

ELSE return 'D';

END if;

END

本文地址:https://blog.csdn.net/xiaojiangtong/article/details/107649400

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部