yii2的事务 具体是怎么执行的,为什么我sql出错后不会回滚

yii2的事务 具体是怎么执行的,为什么我sql出错后不会回滚,第1张

会的。

一般回滚 *** 作都是写在异常处理,或是sql的最后。如果你的sql中出现错误 ,代码会立即跳转到错误处理代码上执行,比如回滚,但紧接在错误行之后的代码不会执行的。

1update ;

2select ;

3when Exception

rollback;

4insert into

以上伪代码,如果行1出错,行2将不会执行,直接跳转到行3,然后行4 也会执行。

先将启动提交取消,再试试:

在Microsoft SQL Server Management Studio中选择菜单Tools Option打开Option窗口。

选择Query Execution SQL Server ANSI,在打开的页面将SET IMPLICIT_TRANSACTIONS ON选项选中,这样执行Update语句时不会自动提交。

首先要明确几点。

1 数据库是否支持事务,比如:Mysql的话,只有Innodb才支持事务。

2 spring的事务切面是否定义正确,是否拦截到你所在的service方法上。

对于第一点,可以直接使用transactionManager进行编码级别事务提交和回滚。

对于第二点,貌似只能看日志了。不过,你可以将你写的切面弄成自定义的AOP代码,然后配置拷贝过去,看看你的自定义AOP是否拦截到指定的方法。

以上就是关于yii2的事务 具体是怎么执行的,为什么我sql出错后不会回滚全部的内容,包括:yii2的事务 具体是怎么执行的,为什么我sql出错后不会回滚、sql sever取消查询事务不回滚,什么原因、hibernate3 事务配置无法回滚等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10203104.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存