zoukankan      html  css  js  c++  java
  • mysql创建函数槽点

    上机环境 mysql8.0 navicat for mysql

    很有那么一批软件程序,要不做点脱了裤子放屁的事儿就觉得自己不够二进制似的,今儿写了一下午mysql函数,怎么都通过不了,上网一看

    mysql要想写点函数,先要打开几个参数如下:

    解决办法1:
    
    执行:
    
    SET GLOBAL log_bin_trust_function_creators = 1;
    
    不过 重启了 就失效了
    
    注意: 有主从复制的时候 从机必须要设置  不然会导致主从同步失败
    
     
    
     
    
    解决办法2:
    
    在my.cnf里面设置
    
    log-bin-trust-function-creators=1
    
    不过这个需要重启服务

    set global log_bin_trust_function_creators=TRUE;

    上面这个设置设置为true我们才能让函数返回任意类型的结果,否则会报

    This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary

    而我仅仅是写了这样一段函数,用于测试在navicat中能否执行通过!

    DELIMITER $$
    DROP FUNCTION IF EXISTS genPerson$$
    CREATE FUNCTION genPerson(name varchar(20)) RETURNS INT
    BEGIN
      DECLARE str VARCHAR(50) DEFAULT '';
        DECLARE asshole int;
      SET asshole=(select MAX(id) from member_info_v);
      return asshole;
    END $$
    DELIMITER ;

    注意:一定要带delimiter 还有空两格加上那对可笑的$$

    还有 end $$ 和 delimiter空格;否则一定报错!

    我真想问问mysql开发组那帮哥们,你们喝汤的时候 标记哪滴汤可以入口。哪滴汤标记为true 才能入口吗

  • 相关阅读:
    获取用户电脑的上网IP地址
    array_multisort() 排序说明
    phpcms2008 sp4 升级到v9
    js验证
    鼠标滑过出现气泡提示框
    鼠标滑过右侧显示菜单
    tab切换
    分享到新浪,人人,开心,天涯,豆瓣,搜狐,腾讯等的代码
    判断checkbox是否被选中,判定选中的个数!
    <object >属性
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/10768594.html
Copyright © 2011-2022 走看看