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 ...
随机推荐
- 在Ubuntu下安装Solr
使用wget命令去官网下载solr的压缩包. 1 wget https://mirrors.bfsu.edu.cn/apache/lucene/solr/8.6.3/solr-8.6.3.tgz 使用 ...
- 字符串与模式匹配算法(一):BF算法
一.BF算法的基本思想 BF(Brute Force)算法是模式匹配中最简单.最直观的算法.该算法最基本的思想是从主串的第 start 个字符起和模式P(要检索的子串)的第1个字符比较,如果相等,则逐 ...
- [转]DDR相关的一些基础知识
ODT ( On-DieTermination ,片内终结)ODT 也是 DDR2 相对于 DDR1 的关键技术突破,所谓的终结(端接),就是让信号被电路的终端吸 收掉,而不会在电路上形成反射, 造成 ...
- Get_init_color_map
#!/bin/bash./simulate_screencap.sh./analysis_screencap.py
- Envoy实现.NET架构的网关(五)集成Redis实现限流
什么是限流 限流即限制并发量,限制某一段时间只有指定数量的请求进入后台服务器,遇到流量高峰期或者流量突增时,把流量速率限制在系统所能接受的合理范围之内,不至于让系统被高流量击垮.而Envoy可以通过e ...
- Git 极速上手(超简单)
前言:本文主要介绍了一种快速入门使用Git的方法,通过四步完成本地仓库构建和推送到远程仓库(Github.Gitee码云),简单说明最常用的命令,不需要明白Git的原理即可使用,本文不介绍具体原理. ...
- 微服务之十四如何在 Ocelot 网关中配置多实例 Swagger 访问
一.介绍 当我们开发基于微服务的应用程序的时候,有一个环节总是跳不过去的,那就是要创建 WebApi,然后,我们的应用程序基于 WebApi 接口去访问.在没有 Swagger 以前,我们开发好了 W ...
- 不破不立,祝贺EDG夺得S11冠军。这一夜,我看到太多Flag成真
在昨晚11月6号夜进行的2021英雄联盟S11总决赛中,中国战队EDG夺冠!全国各地高校的男生宿舍像过年一般庆祝夺冠,高呼:EDG世界冠军! 前三局1:2的劣势下,第四局十分胶着,最终EDG顽 ...
- JAVA POI导出EXCEL 动态表头、多级表头、动态数据
导出Excel文件是业务中经常遇到的需求,以下是经常遇到的一些问题: 1,导出中文文件名乱码 String filename = "sheet1";response.setChar ...
- storm提交拓扑报错processing getcomponentpendingprofileactions
storm提交新的拓扑,拓扑能提交成功,但是在UI界面查看时每个bolt报错Thrift.processing getComponentPendingProfileActions异常. 原因:stor ...