开启了事务,在sql出错的时候不执行commit,也没执行rollback的话,会出现什么情况?

关闭了自动提交,当@@Error>0时不执行commit,但也没写rollback,最后会是什么情况... 关闭了自动提交,当@@Error>0时不执行commit,但也没写rollback,最后会是什么情况 展开
 我来答
jenkit
2011-02-25 · TA获得超过1006个赞
知道小有建树答主
回答量:548
采纳率:0%
帮助的人:538万
展开全部
有可能出现死锁。
因为在对表做更新操作的时候,就会在表上加锁,事务没提交,锁是不会释放的,这是数据库为了保证数据完整性的操作。那么在某个程序写数据库表的时候,其他任何程序对该表是无法进行读取和写入的,处于等待状态。
如果出现了循环等待,A等B,B等C,C等A那么就出现了死锁。
120203851
推荐于2018-04-27 · TA获得超过649个赞
知道小有建树答主
回答量:459
采纳率:100%
帮助的人:666万
展开全部
程序运行过程中处于锁的状态,直到程序结束后,释放事务,数据不会被更新
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
5l1x7b
2011-02-25 · TA获得超过1030个赞
知道小有建树答主
回答量:786
采纳率:0%
帮助的人:530万
展开全部
什么意思?
只有当@@Error<0时才commit,既然没有错误就提交了,也就不会再回滚了。
if(@@Error<0)
Commit;
else
RollBack;

参考资料: 百度一下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式