在innodb的表中,以after触发器为例,触发事件如果执行失败,那么监视事件也将回滚,在此种情况下,事务和触发器似乎没什么区别;这个时候应该怎么选择呢,用事务还是用触发器?
网上似乎大多数人建议用事务,但并没有给出比较有说服力的说法,请赐教
在innodb的表中,以after触发器为例,触发事件如果执行失败,那么监视事件也将回滚,在此种情况下,事务和触发器似乎没什么区别;这个时候应该怎么选择呢,用事务还是用触发器?
网上似乎大多数人建议用事务,但并没有给出比较有说服力的说法,请赐教
先分触发器和事物的区别。
事物是一种容器,这个容器有特殊的保护机制,是最小的单位,要么全部成功,要么全部失败,也可以自由控制提交和回滚。内部可以包含很多的处理。是数据库一种必备的机制。
而触发器,定位是功能性特性,也就是和存储,函数一样是一种特定的功能,只有当触发某一类事件才会执行,回滚也只是出错才会。
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
3 回答2k 阅读
不是做同一件事的。 事务保证了ACID特性。 触发器不能保证吧?