前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA...

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA...

作者头像
cultureSun
发布于 2023-05-18 06:54:01
发布于 2023-05-18 06:54:01
6850
举报
文章被收录于专栏:cultureSun学安全cultureSun学安全

一个很烂的标题

标题很长,但是还是有三个...表示省略。 这是一个MySQL自定义函数的报错信息。全部报错信息如下:

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)

中文大意就是使用百度翻译翻译翻译

此函数的声明中没有DENTISTIC、NO SQL或READS SQL DATA,并且启用了二进制日志记录(您可能需要使用不太安全的log_bin_trust_function_creators变量)

解决方法

使用chatgpt解决,啊哈哈。 这个警告是因为您的函数没有指定 DETERMINISTIC、NO SQL 或 READS SQL DATA 中的任何一个,而且二进制日志记录已启用。这意味着您的函数可能会对数据进行更改,但 MySQL 不知道它是否会更改数据,因此会发出警告。 为了解决这个问题,您可以在函数声明中添加 DETERMINISTIC、NO SQL 或 READS SQL DATA 中的一个或多个。这些关键字告诉 MySQL 函数的行为方式,从而使其能够更好地优化查询和避免不必要的警告。 如果您的函数不会更改数据,则可以将其声明为 NO SQL。如果您的函数会更改数据,则应该将其声明为 READS SQL DATA 或 MODIFIES SQL DATA,具体取决于函数的行为。 如果您不想看到这个警告,可以将 log_bin_trust_function_creators 变量设置为 1,这将允许您创建没有 DETERMINISTIC、NO SQL 或 READS SQL DATA 的函数,但这可能会降低 MySQL 的安全性。

小小结语

各个数据库之间的差异挺大的,甚至是SQL的使用,更别说自定义函数这些了。 以下是一篇关于MySQL自定义函数讲解很好的文章(至少我认为),很容易学会简单基础的自定义函数。 跳转链接在此

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mydumper+myloader
关于这工具的用法和逻辑,就不在多说了,外网都是相关的介绍、使用,这个大佬的文章写的很详细,https://blog.csdn.net/qq_33656602/article/details/90671188
云售后焦俊成
2020/08/04
1.1K0
mydumper+myloader
[Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration a
[Err] 1418 - 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)
互联网金融打杂
2018/08/15
7220
mysql自定义异常_mysql自定义函数详解
[最近研究mysql数据库性能的相关问题,为了对比不同版本之间的差别。笔者找了一台测试服务器升级了该服务器的mysql数据库进行测试,在升级mysql过程中遇到了一些问题并将其
全栈程序员站长
2022/10/04
1.8K0
数据库中的split功能
这是最近工作中遇到的一个业务场景,需要按字符将字符串拆分成多个子字符串,这就类似编程语言中的split函数。
cultureSun
2023/05/18
1.6K0
pt-online-schema-change报错一例
这里我们是MGR 单主模式,因此将 log_bin_trust_function_creators 设置为ON即可,注意要把其他节点的参数也改掉(另外配置文件中也改下使其持续化)。
保持热爱奔赴山海
2025/03/26
640
mysql报错This function has none of DETERMINISTIC解决方案
创建存储过程时 出错信息: 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) 原因: 这是我们开启了bin-log, 我们就必须指定我们的函数是否是 1 DETERMINISTIC 不确定的 2 NO SQL 没有SQl语句,当然也不会修改数据 3 READS SQL DATA 只是读取数据,当然也不会修改数据 4 MODIFIES SQL DATA 要修改数据 5 CONTAINS SQL 包含了SQL语句 其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我们开启了 bin-log, 我们就必须为我们的function指定一个参数。 解决方法:
似水的流年
2019/12/05
2.8K0
MySQL基础-存储过程与函数
MySQL从5.0版本开始支持存储过程和函数,使得sql语句具有面向过程开发的特点
用户9645905
2023/04/01
1.2K0
MySQL基础-存储过程与函数
Mysql1418报错解决
mysql创建function 报错误1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in:https://blog.csdn.net/hju22/article/details/86599393
华创信息技术
2022/05/28
3550
MySQL case几例
5.5版本库 修改innodb_log_file_size 需要mv 走原来的iblogfile
DBA札记
2022/08/16
8550
MySQL case几例
【重学 MySQL】七十六、打造高效存储函数,解锁数据库编程新技能!
在MySQL中,存储函数(Stored Function)是一种在数据库中定义的特殊类型的函数,它可以从一个或多个参数返回一个值。存储函数在数据库层面上封装了复杂的SQL逻辑,使得在应用程序中调用时更加简单和高效。
用户11332765
2024/10/28
1300
【重学 MySQL】七十六、打造高效存储函数,解锁数据库编程新技能!
谁说MySQL单表行数不要超过2000W?
网上看了一篇文章《为什么说MySQL单表行数不要超过2000w》,亲自实践了一下,跟原作者有不同的结论。原文的结论是2000W左右性能会成指数级的下降,而我的结论是:随着数据量成倍地增加,查询的时间也刚好是成倍增加,是成正比的。
用户10002156
2023/08/07
4890
谁说MySQL单表行数不要超过2000W?
MySql binlog详解
         开启MySql的binlog其实不是像网上说的那么一致,我用的是Ubuntu系统。这些debian系统与普通的Linux在开启binlog的方法上是有区别的。在unbuntu下默认安装的MySql,开启binlog只需编辑/etc/mysql/my.cnf文件,修改配置:
幽鸿
2020/04/02
2.1K0
MySQL存储过程与函数精讲
MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可。
小熊学Java
2023/07/16
5970
MySQL存储过程与函数精讲
存储过程与函数
MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可
一个风轻云淡
2022/11/13
6910
存储过程与函数
Mysql8.0.22主备GTID Replication中的那些坑
答:全局事务ID,为每一个在Master上提交的事务在集群内Replication时只生成一个唯一的ID,为规避冗余和错误提供了有力保障。
杨漆
2021/03/03
1.4K0
Mysql8.0.22主备GTID Replication中的那些坑
MySQL数据库,从入门到精通:第十五篇——MySQL存储过程和函数详解
存储过程和函数是MySQL数据库中常用的数据处理工具,它们可以帮助用户完成一些复杂的数据操作或业务逻辑处理,提高数据库系统的效率和性能。本文将深入剖析MySQL中存储过程和函数的使用方法,包括创建、调用、修改、删除等操作,并探讨存储过程和函数的优缺点和使用场景,帮助读者更好地掌握MySQL中存储过程和函数的使用方法和技巧。
默 语
2024/11/20
4330
dede栏目路径自动生成
抽空写了个这。。。虽然很头大,但是还是写完了。 下面由我来翻译下面这一大段话,首先,函数使用了PINYIN函数,将栏目名称转化成英文缩写,剩下的工作就是拼接和查询了,其实原理很简单。
老高的技术博客
2022/12/27
2K0
MySQL My.cnf参数梳理与延伸 (MYSQL 8 replica 类) 与 技术文章与食色性也
最近开始写文章都是带两个主题,技术主题与生活主题,生活热点,还是老传统,技术在前,生活话题在后。
AustinDatabases
2024/01/22
5170
MySQL My.cnf参数梳理与延伸 (MYSQL 8 replica 类) 与  技术文章与食色性也
MySQL 存储函数
MySQL 存储函数(Stored Function)和存储过程类似,也是存储在数据库中的程序,但它会返回一个计算结果。
恋喵大鲤鱼
2023/10/12
4910
SpringBoot整合MyCat实现读写分离
MyCat一个彻底开源的,面向企业应用开发的大数据库集群。基于阿里开源的Cobar产品而研发。能满足数据库数据大量存储;提高了查询性能。文章介绍如何实现MyCat连接MySQL实现主从分离,并集成SpringBoot实现读写分离。
用户4283147
2022/10/27
3250
SpringBoot整合MyCat实现读写分离
相关推荐
mydumper+myloader
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档