决定像罗胖一样,坚持转发他的60“语音, 看我能不能一样坚持下来!

MySQL This function has none of DETERMINISTIC, NO SQL…错误1418 的原因分析及解决方法 (转)

技术笔记 eagle 9685℃ 0评论

MySQL This function has none of DETERMINISTIC, NO SQL…错误1418 的原因分析及解决方法 (转)

解决方法:

解决办法也有两种, 第一种是在创建子程序(存储过程、函数、触发器)时,声明为DETERMINISTIC或NO SQL与READS SQL DATA中的一个, 例如: CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`()     DETERMINISTIC BEGIN #Routine body goes here… END;;

第二种是信任子程序的创建者,禁止创建、修改子程序时对SUPER权限的要求,设置log_bin_trust_routine_creators全局系统变量为1。

设置方法有三种:

1.在客户端上执行SET GLOBAL log_bin_trust_function_creators = 1;

2.MySQL启动时,加上–log-bin-trust-function-creators选贤,参数设置为1

3.在MySQL配置文件my.ini或my.cnf中的[mysqld]段上加log-bin-trust-function-creators=1

有效果:

DELIMITER $$ USE `dbname`$$ DROP FUNCTION IF EXISTS `plus`$$ CREATE FUNCTION `plus`(var1 FLOAT,var2 FLOAT ,var3 FLOAT) RETURNS FLOAT(18,6) BEGIN SELECT (var1-var2)+var3 INTO @result ; RETURN @result;     END$$ DELIMITER ;

 

转载请注明:艾依小站 » MySQL This function has none of DETERMINISTIC, NO SQL…错误1418 的原因分析及解决方法 (转)

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址