首页 > 数据库 > MySQL > 正文

mysql导入sql到mysql提示ERROR 1418错误

2024-07-24 12:36:39
字体:
来源:转载
供稿:网友

虽然很多朋友是在创建mysql函数时提示ERROR 1418错误,但我今天是在导入sql时也提示了ERROR 1418,这个是因为导入的sql中就有创建函数的一些语句了,其实与创建没什么区别.

在将sql导入到mysql时候出现以下错误:

ERROR 1418 (HY000) at line 8752: 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官方文档:http://dev.mysql.com/doc/refman/5.0/en/stored-programs-logging.html

必须设置,代码如下:

global log_bin_trust_function_creatorssystem variable to 1.

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

在my.ini(linux下为my.conf)文件中 [mysqld] 标记后加一行内容为 log-bin-trust-function-creators,

如果在create function的时候有 1418的错语的时候:那么只需要执行set gl在创建子程序(存储过程、函数、触发器)时,声明为DETERMINISTIC或NO SQL与READS SQL DATA中的一个,例如,代码如下:

  1. CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`() 
  2.     DETERMINISTIC 
  3. BEGIN 
  4.  #Routine body goes here... 
  5. END; //开源软件:Vevb.com 
  6. obal log_bin_trust_routine_creators=1;

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表