我要做两个触发器,第一个,插入test1
表后,插入test2
表中的另一行。好的,问题是我必须以相反的格式做相同的触发器,插入行test2
表后插入新行test1
。我知道当触发器触发时触发器无法插入表中,但我需要解决这个问题。我没有很多触发器的经验,我希望这可以解决。MySQL双向触发
DELIMITER $$ CREATE TRIGGER `ai_test1_test2` AFTER INSERT ON `test1`
FOR EACH ROW
BEGIN INSERT INTO test2 (vtest2) VALUES (new.vtest1)
END$$
DELIMITER ;
双向触发:
DELIMITER $$ CREATE TRIGGER `ai_test2_test1` AFTER INSERT ON `test2`
FOR EACH ROW
BEGIN INSERT INTO test1 (vtest1) VALUES (new.vtest2)
END$$
DELIMITER ;
感谢。
编辑:
无限循环不能得到解决。触发器不能是双向的...我认为我必须使用PROCEDURE ...
不,这不可能被通过触发器和解决存在这是一个非常好的理由:它会冒无尽的循环(trigger1插入到table2中,触发trigger2,它插入到table1中,然后触发insert into table2 ...)。在应用程序逻辑或存储过程中更好地处理此问题。 – Shadow
谢谢@Shadow,是的,循环是问题...... :(我认为每个触发器都是一个单独的执行程序,不能将另一个触发器动作称为第一个触发器动作... – dankkomcg