14.3.2.2 autocommit, Commit, and Rollback 自动提交 提交和回滚

14.3.2.2 autocommit, Commit, and Rollback  自动提交 提交和回滚


如果自动提交模式被启用,在InnoDB里, 所有的用户活动发生在一个事务里,


每个SQL语句 形成一个它自己的单独的事务。默认情况下,


MySQL 启动会话用于每个新的连接 在autocommit启动的情况下,


MySQL 做一个提交在每个SQL语句后 如果语句没有返回错误。


一个会话 在自动提交启用的情况下 可以执行一个多语句的事务

通过启用带上明确的START TRANSACTION 或者BEGIN 语句 以COMMIT 或者ROLLBACK语句结束



如果自动提交 模式被关闭 使用 SET autocommit = 0, 


那么session 总是有一个事务打开,一个COMMIT或者ROLLBACK 语句结束当前的事务



如果一个会话关闭自动提交,没有以现实点额提交最终的事务,MySQL 回滚当前事务


有些语句会隐式的结束一个事务

一个COMMIT 意味着当前事务的改变永久生效 对于其他会话可见。


一个ROLLBACK 语句, 取消当前事务所有的修改

COMMIT 和ROLLBACK 释放InnoDB 所有的锁 














原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6199852.html