Code Bye

mysql嵌套事务的提交与回滚

A过程中含有事务操作,B过程中也含有事务操作,在A事务中有调用B过程,A的事务能否提交要根据B过程的执行情况,B执行成功,则A过程继续执行下去,若B过程执行失败,则A要进行回滚操作,然而在B执行失败进行回滚操作后,A过程并没有回滚
解决方案

40

mysql不支持嵌套事务
当你在B中开启事务,也就是执行 start transactions 时,会自动执行一个隐式的提交,所以不管B能否有错误而回滚,都会导致 A中之前的部分 已经提交了,所以就会出现你说的情况。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql嵌套事务的提交与回滚