• 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了。

  • 相关阅读:
    反反爬 | 如何巧过 CloudFlare 5秒盾?
    Xpath高级用法
    GZIP 头解析
    学习S5
    Chrome 建立SOCKS5代理
    建立IP6隧道
    linux 配置Socks51
    linux 配置Socks5
    最近买了一个域名 哈哈,棒棒哒~~
    jquery 动态添加下拉框 需要增加 煊染 selectmenu("refresh");
  • 原文地址:https://www.cnblogs.com/cnsyear/p/12714336.html
Copyright © 2020-2023  润新知