1. 程式人生 > >MySQL This function has none of DETERMINISTIC, NO SQL...錯誤1418 的原因分析及解決方法 (轉)

MySQL This function has none of DETERMINISTIC, NO SQL...錯誤1418 的原因分析及解決方法 (轉)

ini 權限 方法 read 全局 執行 存儲 sql 禁止

解決方法:

解決辦法也有兩種, 第一種是在創建子程序(存儲過程、函數、觸發器)時,聲明為DETERMINISTIC或NO SQL與READS SQL DATA中的一個, 例如: CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`() DETERMINISTIC BEGIN #Routine body goes here... END;;

第二種是信任子程序的創建者,禁止創建、修改子程序時對SUPER權限的要求,設置log_bin_trust_routine_creators全局系統變量為1。

設置方法有三種:

1.在客戶端上執行SET GLOBAL log_bin_trust_function_creators = 1;

2.MySQL啟動時,加上--log-bin-trust-function-creators選賢,參數設置為1

3.在MySQL配置文件my.ini或my.cnf中的[mysqld]段上加log-bin-trust-function-creators=1

MySQL This function has none of DETERMINISTIC, NO SQL...錯誤1418 的原因分析及解決方法 (轉)