首页 > 数据库 >Mysql自定义函数报错合集

Mysql自定义函数报错合集

时间:2024-03-07 11:45:28浏览次数:21  
标签:function 函数 自定义 Mysql 报错 SQL

参考: Mysql自定义函数报错解决方法

1.在MySql中创建自定义函数报错信息如下:

1.1 错误显示

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)

1.2 错误原因

开启了二进制日志binlog后,自定义函数需要声明包含这几个关键字的一个或多个
在 MySQL 中,如果你要创建一个自定义函数,并且数据库启用了二进制日志记录(binary logging),则函数必须在其声明中包含 DETERMINISTIC、NO SQL 或 READS SQL DATA 中的一个或多个关键字,以确保函数的安全性和可靠性。
这是我们开启了bin-log, 我们就必须指定我们的函数是否是
1 DETERMINISTIC 不确定的
2 NO SQL 没有SQl语句,当然也不会修改数据
3 READS SQL DATA 只是读取数据,当然也不会修改数据
4 MODIFIES SQL DATA 要修改数据
5 CONTAINS SQL 包含了SQL语句

1.3 解决方法:

mysql>set global log_bin_trust_function_creators=1; ##true也可以

2. Mysql没有 create or replace function

Oracle 下这种是可以的, 但是Mysql只有 create or replace procedure
这里要创建函数时实现相同效果,可以这么写:
drop function if exists XXX

标签:function,函数,自定义,Mysql,报错,SQL
From: https://www.cnblogs.com/trmbh12/p/18058544

相关文章

  • 【已解决】[图文步骤] message from server: “Host ‘172.17.0.1‘ is not allowed t
    写于2024.03.07北京.朝阳@目录报错信息环境现场解决方案步骤:成功最后报错信息先看看和你的报错一样不一样null,messagefromserver:"Host'172.17.0.1'isnotallowedtoconnecttothisMySQLserver"环境现场mac电脑使用docker部署了一个mysql。docker......
  • 使用gzip命令解压gz日志文件报错:Permission denied[admin@test logs]
    【问题描述】 使用gzip命令解压gz日志文件报错:Permissiondenied[admin@testlogs] 使用sudochmode-R777给目录添加编辑权限,需要输入admin的密码,不是admin账号也添加不了。  【解决方法】使用sudogunzip命令就可以正常解压了。BYW:下载日志文件命令使用szinfo.......
  • Autofac的Swashbuckle生成报错 Microsoft.AspNetCore.Mvc.ApiExplorer.EndpointMetada
    错误内容:AnexceptionwasthrownwhileactivatingSwashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator->Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescriptionGroupCollectionProvider->λ:Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionProvider[]->......
  • npm报错:request to https://registry.npm.taobao.org failed, reason certificate ha
    NPM使用遇到错误:错误原因:淘宝镜像过期解决方案:​ 1.查看当前npm设置:npmconfiglist​ 2.清空缓存:npmcacheclean--force​ 3.修改npm为淘宝镜像:npmconfigsetregistryhttps://registry.npmmirror.com​ 4.再次查看npm设置,已经修改为淘宝镜像)​ 问题解决......
  • Mysql 基础
    创建数据库CREATEDATABASENAME;创建表#中括号[]是可选的意思,命令中不带中括号CREATETABLEtable_name(column1datatype[NULLorNOTNULL][DEFAULT默认值][AUTO_INCREMENTPRIMARYKEY],column2datatype,...//上边没有PRIMARYKEY可以在最下......
  • Java自定义异常和全局异常处理
    1、自定义异常:自定义异常类 BusinessExceptionextendsRuntimeException:RuntimeException是Java提供的一个运行时异常类。publicclassBusinessExceptionextendsRuntimeException{privateintcode;//使用枚举构造publicBusinessException(HttpCodeEn......
  • fluentd 报错处理
    一些问题的处理方式记录failedtoreaddatafrompluginstoragefilepath="/var/log/kernel.pos/worker0/storage.json"error_class=Fluent::ConfigErrorerror="Invalidcontents(notobject)inpluginstoragefile:'/var/log/kernel.pos/worker0/storage......
  • java mysql事物特性记录,在同一事物中更新执行后,立即查询得到的是新数据还是旧数据?
    在Java中,如果你使用MySQL,并且你在一个事务方法中执行了更新操作,那么在这个事务结束并提交之前,其他事务或查询(非同一事务内的)是看不到你的更新结果的。这是数据库事务的隔离性所保证的。 但是,如果你在同一事务中立即执行查询,你将看到更新后的数据。因为查询和更新都在同一个事务......
  • 用几张图实战讲解MySQL主从复制
    本文分享自华为云社区《结合实战,我为MySQL主从复制总结了几张图!》,作者:冰河。MySQL官方文档MySQL主从复制官方文档链接地址如下所示:http://dev.mysql.com/doc/refman/8.0/en/replication.htmlMySQL主从复制方式MySQL5.6开始主从复制有两种方式:基于日志(binlog)、基于GTID(......
  • MySQL binlog/redolog/undolog 的区别?
    想和大家聊聊InnoDB中的锁机制,那么不可避免的要涉及到MySQL的日志系统,binlog、redolog、undolog等,看到有小伙伴总结的这三个日志还不错,赶紧拿来和各位小伙伴分享。日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、......