MySQL与事务嵌套


事务不能嵌套,这是由于START TRANCACTION语句会隐式地执行commit。(MySQL官方文档13.3.3 Statements That Cause an Implicit Commit)

比如:

但对于innoDB来说,可以利用Savepoint功能模拟事务嵌套,也就是在一个事务中,在想开子事务的地方定义一个保存点,想要回滚的时候回滚到这个保存点,这样在保存点和回滚操作中间就模拟出了一个原子性的事务。

posted @ 2020-09-05 23:46  缪若尘  阅读(1170)  评论(0编辑  收藏  举报