[轉]MySql创建函数问题

From : http://www.uini.net/2010/03/mysql-create-function-problem.html

    http://blog.csdn.net/wuhuiran/archive/2007/12/14/1935220.aspx

今天在整理数据时,又碰到MySQL函数不能创建的问题,以前也遇到过多次,解决是解决了,但是解决办法总是记不住,也没有很好地写下来,以至于每次都要再次Google,耗时耗力,这次终于受不了了,还是选择写出来:

出错信息大致类似:

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)

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)

建立不了函数,是未开启功能:

 

mysql> show variables like '%func%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF |
+---------------------------------+-------+
1 row in set (0.00 sec)

mysql
> set global log_bin_trust_function_creators=1;
Query OK,
0 rows affected (0.00 sec)

mysql
> show variables like '%func%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON |
+---------------------------------+-------+
1 row in set (0.00 sec)

我們也可以在my.ini文件中的mysqld中加入下面這一句

[mysqld]
log-bin=C:\Program Files\MySQL\MySQL Server 5.1\log\log-bin.log  --產生日志文件
log-bin-trust-function-creators=1                    --function功能開啟

原文地址:https://www.cnblogs.com/Athrun/p/2091522.html