MySQL:事务常用语句
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;
MySQL:事务常用语句的更多相关文章
- mysql的常用语句
Mysql的常用语句 -- 创建表 create table tableName( id int primary key, name varchar(20) ) -- 查询 select * from ...
- mysql数据库常用语句2
关于mysql常用语句的整理,上一篇涉及到ddl.dml以及一些简单的查询语句. 1:mysql分页查询 select * from table_name limit 5,10; 从下标为5元素查 ...
- mysql数据库常用语句
关于mysql数据库常用命令的整理: 一:对于数据库的操作 show databases;显示当前用户下所有的数据库名称 use database_name;进入当前数据库 create databa ...
- MySQL:常用语句
ylbtech-MySQL:常用语句 1.返回顶部 1. -- ---------------------------- -- Table structure for st_student -- -- ...
- MYSQL 测试常用语句使用技巧
终于有时间可以整理一下工作中常用的sql语句,基本的sql语句及增删改查就不说了.对于测试而言,经常用到的还是造数据,取随机数据和查询.比如造数据时,为了确保数据真实性,可能时间是随机的,用户是随机 ...
- mysql sql常用语句大全
SQL执行一次INSERT INTO查询,插入多行记录 insert into test.person(number,name,birthday) values(5,'cxx5',now()),(6, ...
- mysql数据库常用语句3
一:查询指定数据库中所有的表名 数据库名:test select table_name from information_schema.tables where table_schema='test' ...
- MySql中常用语句
1.查询语句: SELECT 查询字段 FROM 表名 WHERE 条件 查询字段可以使用 通配符* 字段名 别名(把长的名字命名一个别名,比较短的) 通配符:SELECT * FROM ' ...
- mysql数据库常用语句系列
mysql查询某个字段长度 一般查询语句:SELECT `lcontent` FROM `caiji_ym_liuyan` 查询数据: 有些时候需要查询某个字段的长度为多少时候才显示数据: SQL ...
随机推荐
- 高频面试题:一张图彻底搞懂Spring循环依赖
1 什么是循环依赖? 如下图所示: BeanA类依赖了BeanB类,同时BeanB类又依赖了BeanA类.这种依赖关系形成了一个闭环,我们把这种依赖关系就称之为循环依赖.同理,再如下图的情况: 上图中 ...
- 字典树(Trie)
终于学会字典树了,真开心(然后就滚过来写总结了). 首先,字典树到底是个什么东西呢?请看下面这段话: 字典树,常被用来保存与查找大量的字符串,它利用了字符串之间的公共前缀来节约时间,但它的空间花费较大 ...
- hdu 5170 GTY's math problem(水,,数学,,)
题意: 给a,b,c,d. 比较a^b和c^d的大小 思路: 比较log(a^b)和log(c^d)的大小 代码: int a,b,c,d; int main(){ while(scanf(" ...
- js事件常用操作、事件流
注册事件 给元素添加事件,称为注册事件或者绑定事件. 注册事件有两种方式:传统方式和方法监听注册方式 传统方式 on开头的事件,例如onclick <button onclick="a ...
- Visual Studio 2022 初探 (vs2022附激活码)
前言 Visual Studio 2022 正式版来了.新版本带有 go-live 许可证,可供生产使用.在 Visual Studio 2019 的基础上,新版集成开发坏境提供了非常多的改进,包括对 ...
- 解决一个C#中定时任务被阻塞问题
解决一个C#中定时任务被阻塞问题 目录 解决一个C#中定时任务被阻塞问题 1.摘要 2.C#中定时任务的最简方法 3.定时任务阻塞现象 4.阻塞现象原因分析 5.问题解决 1.摘要 本文会介绍一个C# ...
- Dao、Controller、Service三层的结构划分
Java Web基础--Controller+Service +Dao三层的功能划分(摘取自网络)1. Controller/Service/DAO简介: Controller是管理业务( ...
- JS表格显示时间格式
<!-- JS代码区 --> <script type='text/javascript'> $(function() { var grid_selector23 = &quo ...
- 日志收集之rsyslog to kafka
项目需要将日志收集起来做存储分析,数据的流向为rsyslog(收集) -> kafka(消息队列) -> logstash(清理) -> es.hdfs: 今天我们先将如何利用rsy ...
- Centos上安装MongoDB4.X
一.下载并解压MongoDB 1.下载MongoDB 取件码w2px 2.通过ftp软件上传的服务器上,我的位置:/root/softwares 3.解压并放在opt文件夹下:tar zxvf mon ...