zoukankan      html  css  js  c++  java
  • MySQL自定义函数调用不出结果

    自定义函数的代码:

    DROP FUNCTION IF EXISTS fn_HrStaffBase_GetNameFromidCard
    delimiter //
    CREATE FUNCTION fn_HrStaffBase_GetNameFromidCard (a VARCHAR(30))
    RETURNS VARCHAR(50)
    begin
    return (SELECT staff_name   FROM hr_staff_base where idCard = a);
    END //

    -- ---------------------------------------------------------------------------------------------------------------------

    函数调用查询:

    select fn_HrStaffBase_GetNameFromidCard ('299012234225')

    -- ------------------------------------------------------------------------------

    出来都是 null,

    处理方法:

    新建库时时,必须

    也可以修改数据库设置:右键数据库,鼠标点击编辑数据库

    要设置数据库如下图:

    原来设置的是:

    数据库只能读取拉丁值,无法读取中文

    所以导致调用函数结果为:

    -- ---------------------------------------------------------------

    修改数据库设置后 ,查询结果出现:

    #################################################################################

    有时候mysql不能建立自定义函数是因为该功能2未开启

    输入 show variables like '%func%'; 命令

    会看到 log_bin_trust_function_creators 的状态,如果是OFF表示自定义函数功能是关闭的

    输入命令 set global log_bin_trust_function_creators=1;

    可将 log_bin_trust_function_creators 开启自定义函数功能

    但是这样设置是一个临时的方案,因为mysql自动重启后状态又会变为OFF,所以需要在

    在服务启动时加上 “--log-bin-trust-function-creators=1 ”参数。 或在my.ini(my.cnf)中的[mysqld]区段中加上 log-bin-trust-function-creators=1。

  • 相关阅读:
    jQuery_第一章_JavaScript基础
    呵呵双钻
    MINIDVD
    幸运抽奖
    三章
    复习
    三种循环
    百文买百鸡
    1~100的奇数和
    Python memcache和redis
  • 原文地址:https://www.cnblogs.com/Elanlalala/p/9035153.html
Copyright © 2011-2022 走看看