改那個PHP項目加了個功能,本地MYSQL裏添加了一個函數了,如今要轉到服務器上,而後服務器上的MYSQL只能經過PHPMYADMIN網頁操做的,在網頁上SQL裏輸入建立函數的語句,php
結果報錯了:this function has none of DETERMINISTICsql
查了一下是這個緣由:https://www.jb51.net/article/97037.htm數據庫
在上面再運行:set global log_bin_trust_function_creators=1; 就好了服務器
另我本地的MYSQL是用SQLYOG鏈接的,導出的函數建立語句裏有/* 之類的註釋的,放在PHPMYADMIN上執行的時候須要去掉,要否則有可能執行不了,還有那個函數
DEFINER=`root`@`%` 也要去掉。。。this
下面是個人函數建立語句:.net
USE `sql88_aosijue_c`; DELIMITER $$ CREATE FUNCTION `calc_xjs`(user_id int) RETURNS int(11) BEGIN return (SELECT COUNT(1) FROM tp_users WHERE pid=user_id); END $$ DELIMITER ;
注意放在服務器上的PHPMYADMIN執行的話那個USE後的數據庫名也要和服務器上的一致htm