zoukankan      html  css  js  c++  java
  • Mysql不能创建函数的处理方法,错误代码1418

    Mysql不能创建函数的处理方法,错误代码1418

    一、问题描述

    创建自定义函数:

    DELIMITER $$
    CREATE
        FUNCTION `pcloud_outEmployees`.`getChild`(deptId VARCHAR(255))
        RETURNS VARCHAR (255)
        BEGIN
    		DECLARE ptemp VARCHAR (255);  
    		SET ptemp =  deptId;
    
    		RETURN ptemp;
        END$$
    DELIMITER ;
    

    执行异常信息如下:

    1 queries executed, 0 success, 1 errors, 0 warnings
    
    查询:CREATE FUNCTION `pcloud_outEmployees`.`getChild`(deptId VARCHAR(255)) RETURNS VARCHAR (255) BEGIN DECLARE ptemp VARCHAR (255); S...
    
    错误代码: 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)
    
    执行耗时   : 0 sec
    传送时间   : 0 sec
    总耗时      : 0.001 sec
    

    二、原因及解决方案

    Mysql函数不能创建,原因是未开启功能。

    show variables like '%func%'
    
    +---------------------------------+-------+  
    | Variable_name                   | Value |  
    +---------------------------------+-------+  
    | log_bin_trust_function_creators | OFF   |  
    +---------------------------------+-------+  
    1 row in set (0.00 sec)  
    

    执行下面的语句,开启创建函数功能

    set global log_bin_trust_function_creators=1
    

    开启后,再次执行创建自定义函数就OK了。

  • 相关阅读:
    04-Go语言之运算符
    02-Go语言之变量和常量
    idea 无法加载识别本地类
    阿里云OSS实践篇
    jemeter 压测入门篇(附带工具)
    SpringBoot 中的那些“开关”
    java8 新特性之4大函数式接口
    java8 新特性之optional
    VSCode vue开发前配置
    前端架构演进及主流UI
  • 原文地址:https://www.cnblogs.com/cnsyear/p/12714336.html
Copyright © 2011-2022 走看看