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

时间:2022-09-26 07:18:41
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 所有的锁