У меня есть следующая функция.Когда я пытаюсь создать его на веб-сервере, происходит сбой с
У вас нет привилегии SUPER, и включена двоичная регистрация (вы можете захотите использовать менее безопасную функцию log_bin_trust_function_creatorsпеременная)
У меня никогда не было такой проблемы с любым другим веб-хостингом (и точно такой же функцией), как я могу это исправить?(Я не могу изменить настройки MySQL).
CREATE FUNCTION `has_action_access`(in_role VARCHAR(255), in_request VARCHAR(255), in_action VARCHAR(255)) RETURNS tinyint(1)
READS SQL DATA
DETERMINISTIC
BEGIN
DECLARE current_role VARCHAR(255);
DECLARE found, cont TINYINT(1) DEFAULT 0;
SET current_role = in_role;
findattempt: REPEAT
SELECT COUNT(*) FROM cyp_action_access WHERE request = in_request AND action = in_action AND role = current_role INTO found;
IF found = 0 THEN
SELECT COUNT(*) FROM cyp_roles WHERE name = current_role INTO cont;
IF cont = 1 THEN
SELECT inherits FROM cyp_roles WHERE name = current_role INTO current_role;
END IF;
END IF;
UNTIL (cont = 0 OR found > 0) END REPEAT;
RETURN found;
END;
- Версия сервера MySQL:
5.0.90-log
.