创建函数出现 ERROR 1418解决方案

  • A+
所属分类:数据库技术

由于这几天在写mysql存储过程且发现程序体积越来越庞大,于是尝试使用mysql的函数

创建函数时问题马上出现:

  1. ERROR 1418 (HY000): This routine has none of DETERMINISTIC, NO SQL,
  2. or READS SQL DATA in its declaration and binary logging is enabled
  3. (you *might* want to use the less safe log_bin_trust_routine_creators
  4. variable)

在mysql在线文档中找到解决方案,网址为:

http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html#create-procedure

只需要将log_bin_trust_routine_creators 设置为 1 即可,解决方法

在my.ini的[mysqld]下加上log-bin-trust-function-creators=1

希望各位在使用过程中碰到问题少走弯路。