码迷,mamicode.com
首页 > 其他好文 > 详细

事务的隐式提交

时间:2021-07-05 17:25:11      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:name   自动提交   另一个   存储过程   使用   数据库导入数据   就会   回滚   定义   

当使用start transaction或begin语句开启一个事务,或者将系统变量auto commit设置为off时,事务不会自动提交,但是如果当输入某些语句会隐式的被提交掉,就像输入了commit语句一样,这种因为某些特殊的语句而导致事务提交的情况叫做隐式提交,会导致事务隐式提交语句包括:

(1)定义或修改数据库对象的数据定义语言DDL,数据库对象指的是数据库、表、视图、存储过程等。当使用create、alter、drop等语句去修改这些数据库对象时,就会隐式的提交前边的语句所属于的事务。

(2)隐式使用或修改MySQL中的表:当使用alter user、create user、drop user、grant、rename user、set password等语句时也会隐式提交前边的语句所属于的事务。

(3)事务控制或关于锁定的语句:当在一个事务没提交或回滚时就使用start transaction或者begin语句开启了另一个事务时,会隐式提交上一个事务。或者当前的auto commit系统变量值为off,手动改为on时,也会隐式提交前边的语句所属的事务。或者使用lock tables、unlock tables等关于锁定的语句也会隐式的提交前边语句所属的事务。

(4)加载数据的语句。比如使用load data语句批量往数据库导入数据时,也会隐式的提交前边语句所属的事务。

(5)其他的一些语句。使用analyze table、cache index、check table、flush、load index into cache、optimize table、repair table、reset等语句也会隐式的提交前边语句所属的事务。

事务的隐式提交

标签:name   自动提交   另一个   存储过程   使用   数据库导入数据   就会   回滚   定义   

原文地址:https://www.cnblogs.com/xxeleanor/p/14965388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!