Я хочу выполнить следующий триггер в среде разработки. Этот триггер отлично работает локально (локальный пользователь не имеет суперпривилегий, а ведение журнала включено). Вот триггер
DELIMITER $$
USE `myschema`$$
CREATE
DEFINER=`user`@`localhost`
TRIGGER `myschema`.`roles_BEFORE_INSERT`
BEFORE INSERT ON `myschema`.`roles`
FOR EACH ROW
BEGIN
IF (NEW.role_id IS NULL) THEN
-- Find max existed role id
SELECT
MAX(role_id) INTO @max_role_id
FROM
roles;
IF (@max_role_id IS NULL) THEN
-- Set first role id
SET NEW.role_id = CONCAT('RID', '0001');
ELSE
-- Set next role id
SET NEW.role_id = CONCAT(SUBSTR(@max_role_id, 1, 3), LPAD(SUBSTR(@max_role_id, 4) + 1, 4, '0'));
END IF;
END IF;
END$$
Я получаю следующую ошибку при выполнении вышеуказанного скрипта в среде разработки, где у меня нет доступа, чтобы проверить, есть ли у пользователя какие привилегии и активирована корзина журнала или нет. Не могли бы вы сказать мне, есть ли способ указать суперпривилегию или установить запрос включения корзины журнала вместе с самим приведенным выше скриптом. Я испытываю трудности, поскольку проблема не воспроизводится в местных условиях. Любая помощь приветствуется.
SQL State : HY000
Error Code : 1419
Message : You do not have the SUPER privilege and binary logging is enabled
(you might want to use the less safe log_bin_trust_function_creators variable)