更新前触发器mysql中的insert语句被拒绝

更新前触发器mysql中的insert语句被拒绝,mysql,sql,triggers,sql-update,Mysql,Sql,Triggers,Sql Update,我正在尝试创建一个历史记录表。在更新的情况下,我希望能够选择“旧”数据并将其移动到增量表中。因此,我创建了以下触发器: 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 d

我正在尝试创建一个历史记录表。在更新的情况下,我希望能够选择“旧”数据并将其移动到增量表中。因此,我创建了以下触发器:

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 ;
但是,当激发update语句时,数据库会出现以下错误: “错误代码1142。用户拒绝插入命令”user@...“用于表实体的url”。 这是因为在更新触发器中使用insert语句,还是因为我没有相应的权限


谢谢大家!

这是因为您没有适当的权限。谢谢,我如何才能将此权限授予自己?因为当我运行命令:SHOW GRANTS时,它会显示所有特权。是否将
插入到同一个表中?这似乎不是个好主意。否则,问题在于对
delta.entity\u url
的权限。插入在另一个存储历史数据的表上。所以原因一定是私密。谢谢,我将调查这个问题。这是因为您没有适当的权限。谢谢,我如何才能将此授予我自己?因为当我运行命令:SHOW GRANTS时,它会显示所有特权。是否将
插入到同一个表中?这似乎不是个好主意。否则,问题在于对
delta.entity\u url
的权限。插入在另一个存储历史数据的表上。所以原因一定是私密。谢谢,我要调查这个问题。