mysql存储过程中最后有commit和没有commit 是有所不同的。(为测试但是碰到过这个问题)

Posted 林夕Emma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql存储过程中最后有commit和没有commit 是有所不同的。(为测试但是碰到过这个问题)相关的知识,希望对你有一定的参考价值。

如果存储过程中没有执行commit,那么spring容器一旦发生了事务回滚,存储过程执行的操作也会回滚。如果存储过程执行了commit,那么数据库自身的事务此时已提交,这时即使在spring容器中托管了事务,并且由于其他原因导致service代码中产生异常而自动回滚,但此存储过程是不会回滚,因为数据自身的事务已在存储过程执行完毕前提交了,  也就是说此时spring回滚对存储过程的操作是无效的了。

 

以上是关于mysql存储过程中最后有commit和没有commit 是有所不同的。(为测试但是碰到过这个问题)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL存储过程事务处理

MySQL存储过程错误处理

MySQL 存储过程错误处理

MySQL存储过程 事务transaction

MySQL 使用存储过程中最后插入的 id

一个存储过程中更新多个表可以用一个COMMIT吗 ?