mysql - 在 MySQL 中创建此触发器时如何修复此错误?
问题描述
我创建了两个几乎相同的触发器。
触发器如下所示:
触发器 1
delimiter !!
drop trigger if exists updated_movie !!
create trigger update_movie after update on movie
for each row
begin
insert into movie_modification
values (old.id, old.title, old.id_director, old.year, old.duration, old.country, old.movie_facebook_likes, old.imdb_score, old.gross, old.budget, true);
end !!
delimiter ;
触发器 2
delimiter !!
drop trigger if exists inserted_movie !!
create trigger inserted_movie after insert on movie
for each row
begin
insert into movie_modification
values (new.id_movie, new.title, new.id_director, new.year, new.duration, new.country, new.movie_facebook_likes, new.imdb_score, new.gross, new.budget, false);
end !!
delimiter ;
当我更改触发器上的一些东西时,我不得不放弃它们并创建它们几次。现在我有了触发器的最终格式,我执行了所有第二个触发器 ( inserted_movies
),它会成功删除并再次创建。
但是当我执行第一个(updated_movies
)时,我得到以下输出和错误:
0 行受影响,1 个警告:1360 触发器不存在错误代码:1359。触发器已存在
MySQL不是自相矛盾吗?我不明白为什么这只发生在其中一个触发器上。它们几乎相同。
我怎样才能解决这个问题?
解决方案
推荐阅读
- c# - ConcurrentDictionary: Proper small initial capacity
- django - 禁止保存到数据库(Django)的模型实例超过 1 个?
- spring-boot - How to update data on Principal object on Spring Boot
- beautifulsoup - 删除 beautifulSoup 输出中 {} 括号之间的所有内容
- .net - How do I restore Nuget Packages from a private NugetFeed in a devcontainer on Windows?
- node.js - Nodejs、GraphQl 和 SQLServer 返回空值
- mqtt - NodeRED: Configuration lost after modifying flows.json
- javascript - mtlLoader 模块“不提供名为 'MTLLoader' 的导出错误
- sql-server - k8s 与 SQL 服务器的秘密轮换
- javascript - IE 11 fullpage.js 锚问题