尝试在 MySQL 上创建在 Google CloudSQL 上运行的函数。这些功能在另一台服务器(VPS-Godaddy)上运行良好。
官方文档说不支持用户定义函数,但我正在尝试创建一个常规存储函数而不是 UDF。
查找错误 - MySQL 数据库错误:您没有 SUPER 权限,并且启用了二进制日志记录(您可能希望使用 安全性较低log_bin_trust_function_creators可变)
使用蟾蜍登录
使用的用户名
示例函数:
DELIMITER $$
DROP FUNCTION IF EXISTS `func_getEQId`$$
CREATE DEFINER=`TAdmin`@`%` FUNCTION `func_getEQId` (`pTopicId` INT(11))
RETURNS BIGINT(20)
READS SQL DATA DETERMINISTIC
BEGIN
DECLARE vQId bigint (20);
SELECT QId INTO vQId FROM quests WHERE...
RETURN vQId;
END$$
不想禁用二进制日志记录
如果使用云 SQL,请通过运行以下命令启用log_bin_trust_function_creators
:
gcloud sql instances patch [INSTANCE_NAME] --database-flags log_bin_trust_function_creators=on
有关详细信息,请参阅云 SQL 文档。