phpmyadmin上在某數據庫裏創建函數

改那個PHP項目加了個功能,本地MYSQL裏添加了一個函數了,現在要轉到服務器上,然後服務器上的MYSQL只能通過PHPMYADMIN網頁操作的,在網頁上SQL裏輸入創建函數的語句,

結果報錯了:this function has none of DETERMINISTIC

查了一下是這個原因:https://www.jb51.net/article/97037.htm

在上面再運行:set global log_bin_trust_function_creators=1; 就行了

另我本地的MYSQL是用SQLYOG連接的,導出的函數創建語句裏有/* 之類的註釋的,放在PHPMYADMIN上執行的時候需要去掉,要不然有可能執行不了,還有那個

DEFINER=`root`@`%` 也要去掉。。。

下面是我的函數創建語句:

 

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後的數據庫名也要和服務器上的一致

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章