MySQL:事务常用语句
2024-09-08 03:07:42
Mysql(版本是8)的事务隔离级别
默认是RR:REPEATABLE-READ:可重复读
查看
当前隔离级别
全局隔离级别
修改
-- 当前修改
-- 设置成可重复读
SET transaction isolation LEVEL REPEATABLE READ;
-- 全局修改
-- 读已提交
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
-- 读未提交
SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
事务自动提交
MySQL默认的事务是自动提交的,像update、insert语句都不用显示开启事务,默认开启事务->执行语句->自动提交
可以通过set修改为0,关闭自动提交
事务流程演示
-- 显示的开启事务
BEGIN SELECT * FROM `transaction_learn`; -- 增加回滚点a
SAVEPOINT a; INSERT into `transaction_learn`(`id`,`name`,`group`) VALUES(
6,'UNCOMMITTED','g1');
-- 增加回滚点b
SAVEPOINT b; -- 删除回滚点b
RELEASE SAVEPOINT b;
-- 回滚到a的状态
ROLLBACK to a; INSERT into `transaction_learn`(`id`,`name`,`group`) VALUES(
7,'UNCOMMITTED','g1');
-- 提交事务
COMMIT;
常用控制语句
- begin:显示的开启事务
- savepoint 变量名:添加保存点
- release savepoint 变量名:删除保存点
- rollback to 变量名:回滚到某一个保存点
- rollback:回滚整个事务
- commit:提交事务
除了rollback和commit外,还有rollback work和commit work。通常是对应的,主要看MySQL的变量completion_type
completion_type有三种类型,分别是
completion_type类型 | commit work 和 rollback work |
0(NO_CHAIN) | 与commit和rollback没有区别 |
1(CHAIN) | 在执行之后会开启一个同等隔离级别的新事务,新事务能够看到当前事务的结果 |
2(RELEASE) | 在执行之后会断开当前数据库的连接 |
修改语句
SELECT @@GLOBAL.completion_type;
-- NO_CHAIN
set GLOBAL completion_type = 0;
-- RELEASE
set GLOBAL completion_type = 2;
-- CHAIN
set GLOBAL completion_type = 1;
最新文章
- 谈谈用ASP.NET开发的大型网站有哪些架构方式(成本)
- js-延迟处理函数
- Spring 中 Xml配置文件属性的说明
- NodeJs随心学习(一)之UEditor开源项目部署
- Android ScrollView 嵌套 ListView、 ListView 嵌套ScrollView Scroll事件冲突解决办法
- PHP学习笔记二十九【接口】
- 优质UI的7条准则(一)
- [置顶] 【J2SE 】1136 容器之旅
- linux环境下搭建 j2ee环境
- 微信开发模式 api 接口文档简介
- 【翻译】Ext JS最新技巧——2014-8-13
- 给大家推荐一个python的学习网站 http://www.codecademy.com
- EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public?
- c# 在.NET使用Newtonsoft.Json转换,读取,写入json
- Redo丢失的4种情况及处理方法
- G - Intersecting Rectangles Kattis - intersectingrectangles (扫描线)(判断多个矩形相交)
- epoll(二)
- JAVA 线程Join
- 第12月第26天 swift 下划线
- Pma模块详解,对用户登录linux等进行限制,密码修改限制等
热门文章
- 近期业务大量突增微服务性能优化总结-4.增加对于同步微服务的 HTTP 请求等待队列的监控
- IP数据报中如果不分片,分片标志值是什么?
- msfsploit框架的使用——ms17_010漏洞的利用
- Invalid prop: type check failed for prop ";xxx";. Expected Number, got String.
- node.js中模块和包
- redis 内存划分
- MAC安装vue.js
- Effective C++ 总结笔记(一)
- Python学习周总结(一)
- 查看python是32位,还是64位