前言

本文主要介绍 MySQL 是如何开启一个事务的,相关资料也可以查阅官方文档。

https://dev.mysql.com/doc/refman/8.0/en/commit.html

方式 1

START TRANSACTION 或 BEGIN 开始新的事务 COMMIT 提交当前事务 ROLLBACK 回滚当前事务

这是大家熟知的一种方式,其中开启事务的方式 start transaction 和 begin 是相同的。

方式 2

SET autocommit = 0;

默认情况下 autocommit = 1,是自动提交事务的。
autommit 是 session 级别的,就是当前连接更改了 autocommit,对其他连接没有影响。
设置 autocommit 之后,本次连接的所有 sql 都是事务的形式,比如每次 commit 提交。

通过截图可以看出,有一个事务在执行,因为设置了 set autocommit = 0;,所以后面的 update 操作修改结果,其他 session 并不会查到(RR 级别)。

这时候就需要自己手动执行 commit。

注意的是,autocommit 没有进行更改,此时 autocommit 值还是 0,也就意味着这个 session 后续的 sql 都是需要手动 commit 的。

更多相关文章

  1. Android(安卓)版本兼容 — Android(安卓)6.0 和 7.0后获取Mac地
  2. android 创建桌面快捷方式 、插件
  3. android源码下载方式
  4. 创建android逐帧动画的两种方式
  5. 【安卓笔记】android客户端与服务端交互的三种方式
  6. android触摸实现物体运动方式
  7. TabHost两种实现方式
  8. Android(安卓)RIL总体架构介绍
  9. Android-两种方式实现走马灯效果

随机推荐

  1. 聊一聊开发常用小工具
  2. 聊聊Zookeeper中的ZAB协议,保证你能看懂
  3. 带有过期时间的LRU实现(java版)
  4. Android中获取网络图片的三种方法
  5. java关键字系列(4)this
  6. android 4.0 StatusBar 架构
  7. 设计模式之代理模式(包含静态代理和动态代
  8. LockSupport:一个很灵活的线程工具类
  9. ICS 系统栏分析(一)
  10. java集合系列(9)TreeMap