mysql事务和触发器的抉择

在innodb的表中,以after触发器为例,触发事件如果执行失败,那么监视事件也将回滚,在此种情况下,事务和触发器似乎没什么区别;这个时候应该怎么选择呢,用事务还是用触发器?
网上似乎大多数人建议用事务,但并没有给出比较有说服力的说法,请赐教

阅读 5.4k
2 个回答

不是做同一件事的。 事务保证了ACID特性。 触发器不能保证吧?

先分触发器和事物的区别。

事物是一种容器,这个容器有特殊的保护机制,是最小的单位,要么全部成功,要么全部失败,也可以自由控制提交和回滚。内部可以包含很多的处理。是数据库一种必备的机制。

而触发器,定位是功能性特性,也就是和存储,函数一样是一种特定的功能,只有当触发某一类事件才会执行,回滚也只是出错才会。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题