当前位置: 首页 > news >正文

mysql事务测试

mysql的事务处理主要有两种方法
1、用begin,rollback,commit来实现

begin; -- 开始一个事务
rollback; -- 事务回滚
commit; -- 事务提交

2、直接用set来改变mysql的自动提交模式
mysql默认是自动提交的,也就是你提交一个sql,它就直接执行!我们可以通过

-- 查看是否自动提交
show variables like 'autocommit';
set autocommit=0; -- 关闭自动提交
set autocommit=1; -- 开启自动提交

但注意当“关闭自动提交”的时候,提交的SQL都将做为事务处理,直到用commit或rollback结束,
注意当结束这个事务的同时也开启了个新的事务!按第一种方法只将当前的作为一个事务!个人推荐使用第一种方法!


新建会话1加排它锁

begin;
select * from tableA where id = 1 for update;


新建会话2更新,这时会话2会阻塞。待会话1执行commit或rollback后,会话2才会继续执行。

begin;
update tableA set value='test' where id = 1;

若会话1的事务一直没提交,在等待52s后报错

http://www.lryc.cn/news/173541.html

相关文章:

  • Spring面试题14:Spring中什么是Spring Beans? 包含哪些?Spring容器提供几种方式配置元数据?Spring中怎样定义类的作用域?
  • Tomcat部署、优化、以及操作练习
  • 服务器假死日志按时间统计排查
  • CSS——grid网格布局的基本使用
  • 【python】使用Nuitka打包python项目-demo示例
  • Java多线程篇(5)——cas和atomic原子类
  • 数据结构---栈和队列
  • 2023-9-23 合并果子
  • 基于QT和UDP实现一个实时RTP数据包的接收,并将数据包转化成文件
  • 云原生安全性:保护现代应用免受威胁
  • R语言绘图-3-Circular-barplot图
  • 解决Keil5下载没有对应芯片Flash的问题
  • 深拷贝与浅拷贝(对象的引用)
  • 重新认识架构—不只是软件设计
  • 我的创业笔记:困境与思索
  • minio文件上传
  • IDEA .iml文件及.idea文件夹详解
  • 使用Python做一个微信机器人
  • 云计算战略:选择适合你业务的云平台
  • Python:打印目录下每层的文件总数
  • LVS-NAT模式
  • 【神印王座】龙皓晨竟然上了头版头条!内容违背,新闻真实性原则
  • C++之类和函数权限访问总结(二百二十七)
  • 手动部署 OceanBase 集群
  • 【操作系统笔记十二】Linux常用基础命令
  • Compose LazyColumn 对比 RecyclerView ,谁的性能更好?
  • [python 刷题] 49 Group Anagrams
  • vue+element plus 使用table组件,清空用户的选择项
  • 改写软件-怎么选择改写软件
  • gateway之跨域处理