自定义mysql函数时报错,[Err] 1418 - This function has none of DETERMINISTIC......

  今天在我执行自定义mysql函数的SQL时发生了错误,SQL如下:

/**
自定义mysql函数 getChildList
*/
delimiter //
CREATE FUNCTION `pengwifi_wifi`.`getChildList`(rootId INT)
RETURNS varchar(1000)

BEGIN
DECLARE sTemp VARCHAR(1000);
DECLARE sTempChd VARCHAR(1000);

SET sTemp = '$';
SET sTempChd =cast(rootId as CHAR);

WHILE sTempChd is not null DO
SET sTemp = concat(sTemp,',',sTempChd);
SELECT group_concat(id) INTO sTempChd FROM hui_class where FIND_IN_SET(parent_id,sTempChd)>0;
END WHILE;
RETURN sTemp;
END
//

 

报错信息:[Err] 1418 - 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)

解决方法:set global log_bin_trust_function_creators=TRUE;

 

posted @ 2016-08-19 10:55  张发财  阅读(1945)  评论(0编辑  收藏  举报