mysql 如何调用函数结果_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。
總結
以上是生活随笔為你收集整理的mysql 如何调用函数结果_MySQL自定义函数调用不出结果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通货膨胀会带来什么影响?通胀对股市有什么
- 下一篇: 买股票和买基金哪个收益更大?股票和基金哪