【Navicat导入后缺少函数问题-This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its报错*】

在使用Navicat导入包含函数的MySQL备份时,可能会遇到错误提示ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAinitsdefinition。该问题可以通过设置全局变量log_bin_trust_function_creators为TRUE临时解决,或者在my.ini配置文件中永久修改。此方法允许导入包含非确定性函数的备份。
摘要由CSDN通过智能技术生成

Navicat导入时,This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its报错

使用 Navicat 导入备份的时候,出现了 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its 的错误,备份里面是包含了创建的函数的,在本地环境和服务器环境不一样就报错了。
报错图

问题分析
我们创建函数时必须指定我们的函数 是否 是?

DETERMINISTIC 不确定的
NO SQL 没有 SQL 语句,当然也不会修改数据
READS SQL DATA 只是读取数据,当然也不会修改数据
MODIFIES SQL DATA 要修改数据
CONTAINS SQL 包含了 SQL 语句

解决方法
在 MySQL 中创建函数时出现这种错误的解决方法:
1、在 MySQL 数据库中执行以下语句,临时生效,重启后失效
在当前你需要导入的库 进行查询操作 加入语句执行
语句: set global log_bin_trust_function_creators=TRUE;
临时打开了当前用户全局权限

2、在配置文件 my.ini 的 [mysqld] 配置,永久生效
在这里插入图片描述
在这里插入图片描述

log_bin_trust_function_creators=1

当然导出导入时遇到错误也可以用此方法重新导入

原帖链接:原帖百度链接:文江博客
主要是写给自己看,问题记录;
如果原帖作者看到认为不适/侵权 联系我删除!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>