改那个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后的数据库名也要和服务器上的一致