句子大全

句子大全 > 好句子

揭秘Mysql事物部分update语句成功 部分失败

好句子 2012-03-29 05:33:31
相关推荐

使用mysql数据库的小伙伴们,对mysql怎么控制事物,语句的提交一定要了解清楚,如果应用代码对事物使用不当,就会造成Mysql事物部分update语句成功,部分失败。下面就详细解释其产生的原因

首先说一个mysql的事务提交的参数

这个参数很好理解,如果autocommit设置为1,就是开启mysql数据库自动提交的特性,设置为0,则不开启自动提交。这里需要提醒大家的是,设置为1之后,数据库自动提交的意思,每当应用请求一个update,或者insert,或者delete语句时,Mysql就会提交这个语句。请注意,如果应用逻辑要实现的是一个事物包含3条update语句,大家都会认为,3个Update语句如果有一个执行失败,则全部回滚,但是请注意,应用如果没有在代码中显示的去启用事物,mysql数据库执行情况是这样的

数据库成功执行了1和2两个update,第三个sql语句因为锁等或者连接断开,并没有执行,最后的结果是什么呢,就是语句1和语句2被数据库正常提交,并落盘了。我换一个写法,大家就明白了

因为事物没有控制,就导致部分update语句成功,部分失败。

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新