mysql 选择setmysqli autocommitt=0;好像还是自动提交

> set autocommit=0 与 start transaction
有啥区别啊 ?该怎么解决
set autocommit=0 与 start transaction
有啥区别啊 ?该怎么解决
gszgsz & &
发布时间: & &
浏览:36 & &
回复:2 & &
悬赏:0.0希赛币
set autocommit=0 与 start transaction
有啥区别啊 ?我看网上的说明没看懂。
好像功能都是一样的。& 求指导。 O(∩_∩)O谢谢
set autocommit=0,指事务非自动提交,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示&commit&才能提交事务。start transaction指的是启动一个事务。这两者意义并不一样。在自动提交方式下,发不发起start transaction,效果一样,因为语句结束会自动commit.但是在非自动提交模式下,发起了start transation,则在此语句之前的sql语句会隐式提交一个事务。两者不要混淆了。
gszyxywt & &
22:17:33 & &
& & (6)(2)引用set autocommit=0& 是设置事务自动提交模式为0, 也就是不自动提交start transaction 是声明开始一个事务。gt0320 & &
22:17:33 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&mysql中set autocommit=0与start transaction区别
&  By default, MySQL runs with autocommit mode enabled. This means that as soon as you execute a statement that updates (modifies) a table, MySQL stores the update on disk to make it permanent. The change cannot be rolled back.  To disable autocommit mode implicitly for a single series of statements, use the START TRANSACTION statement:START TRANSACTION;SELECT @A:=SUM(salary) FROM table1 WHERE type=1;UPDATE table2 SET summary=@A WHERE type=1;COMMIT;ROLLBACK;With START TRANSACTION, autocommit remains disabled until you end the transaction with COMMIT or ROLLBACK. The autocommit mode then reverts to its previous state.&参考官方文档:/doc/refman/5.7/en/commit.html
最新教程周点击榜
微信扫一扫mysql中的set autocommit =0-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
mysql中的set autocommit =0
来源:互联网 更新时间: 9:00:35 责任编辑:王亮字体:
今天掉到这个坑里了,mysql如果开了set autocommit=0,那么所有的语句一定是在一个事务里,在这种情况下,如果使用连接池,并且在查询之前没有rollback或者set autocommit=1,那么你就杯具了。因为根据mysql的默认事务级别,一致性读,你永远也取不到这个事务被开户前的数据。另外一点set autocommit= 0,会自动提交前一个事务,因此正确的作法是rollback, set autocommit =0,完成之后再set autocommit = 1;
以前使用hibernate的时候对事务理解不深刻,现在看来当时为什么查不出来数据也是这个原因了。
相关文章:
上一篇文章:下一篇文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号mysql事宜执行完毕,需要恢复autocommit=1吗 - PHP当前位置:& &&&mysql事宜执行完毕,需要恢复autocommit=1吗mysql事宜执行完毕,需要恢复autocommit=1吗&&网友分享于:&&浏览:0次mysql事务执行完毕,需要恢复autocommit=1吗?
set&autocommit&=0;&&&&&//关闭自动提交
start&&&&&&&&//开启一个事务;
---------------------......
&&&&&&&&&&&&&&&&&&//正式提交事务;事务结束;
commit之后,还要把set&autocommit&=1恢复吗?&&我看别人的案例都没恢复,commit会自动恢复?------解决思路----------------------autocommit&默认为1,即自动提交事务
你&set&autocommit&=0&是为了关闭自动提交,显然这是你个人的行为
所以事务结束后,是否需要将&autocommit&还原成&1,自然也是你的个人行为
你只要重新连接数据库,&autocommit&&依然是&1,并不管你上次操作后的状态。这才是服务器的行为
如果你在执行完一次事务后,还要再执行&100&次事务,你是关闭还是开启事务的自动提交呢?
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'MySQL Study之--MySQL关闭自动commit(autocommit)',
blogAbstract:'MySQL Study之--MySQL关闭自动commit(autocommit)'
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 mysql查看 autocommit 的文章

 

随机推荐