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

  • 相关阅读:
    transform:translate -50%解释
    无缝滚动条
    css二维画面练习-扑克牌
    css二维动画
    ORM了解
    socket总结
    2016/9/23总结电脑内容
    winform控件跨线程委托
    HttpRequestMessage
    vue设置每个页面的头部title
  • 原文地址:https://www.cnblogs.com/cnsyear/p/12714336.html
Copyright © 2011-2022 走看看