在Navicat中经常需要创建函数或者过程,在默认环境中,创建函数通常会报错,类似如“ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQ
L DATA in its declaration and binary logging is enabled (you *might* want to use
 the less safe log_bin_trust_function_creators variable)”///“Error Code: 1655 Cannot create stored routine `myproc`. Check warnings”等错误提示。

在网络上找了许久,说法很多,原因也很多,总结下来有如下几个原因:

1、函数创建开关未打开,导致不能创建函数

可以在控制台运行

SET GLOBAL log_bin_trust_function_creators = 1;

即可打开创建开关,经过测试正常。

2、MySQL创建函数的方法不同

MySQL需要在执行的SQL前加delimiter,定义个开始字符和结束字符,告诉MySQL解释器函数体结束了。常见delimiter后跟//或$$,当//出现之后,MySQL解释器才正式执行。例子如下:

DELIMITER //
CREATE DEFINER = CURRENT_USER FUNCTION `Test`(`ttt` varchar)RETURNS char
BEGIN#Routine body goes here...RETURN '';
END;//
DELIMITER;

3、函数体中添加开关

...
DETERMINISTIC;
READS SQL DATA;
BeginEnd;

4、MySQL数据库运行模式

解決方式:
修改my.ini的sql-mode(sql-mode="ANSI,TRADITIONAL"),重启MySQL。

通过1、2方法基本能解决大多数问题,后两种可以根据需要使用。

Navicat 中创建MySQL函数失败的解决相关推荐

  1. 计算机定时关机计划任务失败,电脑无法创建任务计划怎么办|电脑中创建任务计划失败的解决方法...

    ‍ 如果我们要实现定时关机或者关机自动清理系统垃圾等功能,可以借助电脑系统中的任务计划程序来设置.首先就是要创建任务计划,刚开始的前几个步骤还可以正常完成,到最后一步就会弹出无法创建任务计划的提示.所 ...

  2. 关于VS Code中C文件调用其他C文件函数失败的解决方法

    关于VS Code中C文件调用其他C文件函数失败的解决方法 在main.c文件中添加 #include <windows.h> 头文件,可以解决.

  3. php fopen函数 返回值,php中fopen函数失败的解决方法

    php中fopen函数失败的解决方法 发布时间:2021-03-29 12:26:30 来源:亿速云 阅读:86 作者:小新 这篇文章将为大家详细讲解有关php中fopen函数失败的解决方法,小编觉得 ...

  4. apmserv5.2.6 mysql启动失败_win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法...

    win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法 1.APMServ程序所在路径不能含有汉字和空格.例子:D:\r\APMServ5.2.6\ 2.去掉 ...

  5. win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法

    win7(xp) APMServ5.2.6 Apache启动失败,MYSQL启动失败 的解决办法 1.APMServ程序所在路径不能含有汉字和空格.例子:D:\r\APMServ5.2.6\  2.去 ...

  6. Button中command后面函数添加参数解决方法

    Button中command后面函数添加参数解决方法 参考文章: (1)Button中command后面函数添加参数解决方法 (2)https://www.cnblogs.com/smart-ziha ...

  7. linus启动mysql失败_Linux下MySQL启动失败的解决一例

    Linux下MySQL启动失败的解决一例: 当敲mysql命令时 Can't connect to local MySQL server through socket '/var/lib/mysql/ ...

  8. weblogic中数据源_如何在WebLogic Server中创建MySQL数据源

    weblogic中数据源 使用应用程序服务器的一件很酷的事情是,它允许您在应用程序外部创建DataSource,并且可以与线程池和事务管理器等一起管理它.对于WebLogic Server,它附带了许 ...

  9. 如何在WebLogic Server中创建MySQL数据源

    使用应用程序服务器的一个很酷的事情是,它允许您在应用程序外部创建DataSource,并且可以与线程池和事务管理器等一起管理它.对于WebLogic Server,它附带了许多内置的JDBC驱动程序, ...

最新文章

  1. STM32 GPIO与 EXTI的映射关系
  2. include的两种形式、CPP的搜索路径
  3. 在C++中侦测内嵌型别的存在(rev#2)
  4. easyui带表单的弹窗效果制作
  5. valid Palindrome -- leetcode
  6. emacs VS vim 替换为回车符
  7. 汉诺塔 --- 递归的经典运用
  8. 腾讯校招难度升级,笔试刷人超80%,最“简单”的试题把网友看哭了
  9. 中国农业大学专业学位计算机,中国农业大学(专业学位)计算机技术考研难吗
  10. Java基础题26:(多选题)下列哪些选项属于Java技术体系()
  11. 华为s5700交换机忘记console的密码,怎么恢复
  12. 沈阳大学博客网站的设计与实现
  13. Java实现打印功能
  14. 微信IOS navigator.getUserMedia undefined
  15. 科银资本 Jayden Wei 专访:全球首个区块链经济特区即将诞生
  16. 回文数—简单方法(C语言)
  17. 多线程相关实例(多线程经典应用场景)
  18. Sparse Merkle Tree
  19. mysql升级后乱码_mysql 升级引起的乱码问题,今天终于解决了。。。。
  20. 学习动力方法介绍,让你们成为永动机

热门文章

  1. workerman 端口复用作用
  2. C语言求最大公约数最小公倍数的简单方法
  3. 你最大的敌人就是你自己
  4. PCA主成分分析原理的三种角度的理解
  5. 外汇天眼:本周监管状态更新,以下平台一定要远离!
  6. 全面解析Linux下的su指令
  7. 行人重识别数据集之 DukeMTMC-reID 数据集
  8. Vuetify下载图片的问题探究
  9. 华为手机无法获取cookie (uniapp) SameSite
  10. 易语言专治反截图程序源码