
会的。
一般回滚 *** 作都是写在异常处理,或是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 事务配置无法回滚等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)