首页 > 数据库 >ERROR 1418 (HY000) at line 1323: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA

ERROR 1418 (HY000) at line 1323: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA

时间:2023-06-06 20:32:41浏览次数:48  
标签:function 1323 log NO SQL bin DATA


ERROR 1418 (HY000) at line 1323: 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指定一个参数
可以
 set global log_bin_trust_function_creators =1;
就解决了。

标签:function,1323,log,NO,SQL,bin,DATA
From: https://blog.51cto.com/u_16152230/6427660

相关文章

  • Gorm - sql查询某个字段为空时赋默认值
    场景:查询时报错err{"error":"sql:Scanerroroncolumnindex0,name\"mobile\":convertingNULLtostringisunsupported"}总结:根据项目需要,在数据库查询时,可能需要对查询结果进行封装,为避免前端抛出空指针异常(NullPointException),对于没有值的字段也不能......
  • mysql使用efcore实现乐观并发控制
    为了避免多个用户同时操作同一个资源造成的并发冲突问题,通常需要进行并发控制。并发控制分为:乐观和悲观两策略悲观:悲观并发控制一般采用行锁、表锁等排它销对资源进行锁定,确保一个时间点只有一个用户在操作被锁定的资源。 悲观并发控件的使用比较简单,仅对要进行并发控制的资......
  • 熄灯之后的学习——再读《MySQL必知必会》(6)|| 数据过滤
    操作符:用来联结或改变where子句中的子句的关键字。使用and操作符给where子句附加条件:使用or操作符指示检索任一匹配条件:计算次序:任何时候使用具有and和or操作符的where子句时,都应该使用圆括号明确地分组操作符in操作符用来指定条件范围,范围中的每个条件都可以进......
  • 熄灯之后的学习——再读《MySQL必知必会》(5)|| 过滤数据
    搜索条件(过滤条件):只检索所需数据需要指定的。where子句在表名(from子句)之后给出,在同时使用orderby和where子句的时候,应该让orderby位于where之后。检查单个值:不匹配检查范围检查空值检查......
  • 熄灯之后的学习——再读《MySQL必知必会》(4)|| 排序数据
    子句(clause):SQL语句由子句构成,有些子句是必须的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。orderbyxxx指定以xxx列进行排序按多个列排序:只要指定列名,列名之间用逗号分开即可。在按多个列进行排序的时候,排序完全按所规定的顺序进行。降序排序:必须指定DES......
  • 熄灯之后的学习——再读《MySQL必知必会》(3)
    SQL语句不区分大小写多条SQL语句必须以;进行分隔多数SQL人员认为,将SQL语句分成多行更容易阅读和调试SELECT*FROMTABLENAME;返回名为TABLENAME的表的所有列的数据,也可以选择单个列或多个列(多个列的时候,每个列,名用,`分隔开)*是通配符检索不同的行SELECTDISTINCT*......
  • 熄灯之后的学习——再读《MySQL必知必会》(2)
    命令用;结束,仅仅按Enter不执行命令输入help或\h获得帮助输入quit或者exit退出命令行程序关键字(keyword):作为MySQL语言组成部分的一个保留字SHOWDATABASES;返回可用数据库的一个列表。USEDATABASENAME;使用名为DATABASENAME的数据库,该语句不返回任何结果。SHO......
  • 使用Navicat导入《MySQL必知必会》书上用例数据库的方法
    在Navicat中新建一个名为mysqk_crash_course的数据库此数据库初始为空接着将下载好的的sql文件导入完成:再导入另一个sql文件:完成:大功告成:书中用例sql文件下载地址......
  • 熄灯之后的学习——再读《MySQL必知必会》(1)
    熄灯之后一边看视频,一边coding实在麻烦,遂熄灯之后改学习其他内容数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)。表(table):某种特定类型数据的结构化清单。模式(schema):关于数据库和表的布局及特性。列(column):表中的一个字段。所有表都是由一个或多个列组成的。数据......
  • MYSQL增删改
                     ......