Запрещенный оператор вставки перед триггером обновления mysql - PullRequest
1 голос
/ 18 января 2020

Я пытаюсь создать таблицу истории. В случае обновления я хочу иметь возможность выбрать «старые» данные и переместить их в дельта-таблицу. Поэтому я создал следующий триггер:

delimiter $$
drop trigger if exists  entity_url_before_update_to_delta;
create trigger entity_url_before_update_to_delta
before update on entity_url
for each row
   begin
      insert into delta.entity_url 
      (url_id, updated_at, title, description, h1, h2, content, main_entity, 
      entity_sentence_id, entity_id) 
      values(old.url_id, old.updated_at, old.title, old.description, old.h1, old.h2, 
      old.content, old.main_entity, old.entity_sentence_id, old.entity_id);
   end $$
delimiter ;

Однако, когда запускается оператор обновления, база данных выдает следующую ошибку: «Код ошибки 1142. Команда вставки запрещена пользователям« user@... »для таблицы entity_url». Это связано с использованием оператора вставки в триггере обновления или из-за того, что у меня нет необходимых прав для этого?

Спасибо!

...