MySQL CREATE FUNCTION перестал работать на общем веб-сервере

У меня есть следующая функция. Когда я пытаюсь создать его на веб-сервере, это перестало работать с

У Вас нет СУПЕР полномочия, и двоичный вход включен (Вы могли бы хотеть использовать менее безопасную 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.
1
задан OMG Ponies 27 July 2010 в 19:33
поделиться

1 ответ

Ваш пользователь не имеет суперпривилегий. Вам нужно связаться с вашим поставщиком услуг хостинга и попросить его обновить это. Если они не предоставят вам такую возможность, попросите их выполнить скрипт за вас.

2
ответ дан 2 September 2019 в 22:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: