当前位置:网站首页>Mysql_13 事务
Mysql_13 事务
2022-08-05 00:01:00 【萨科塔资深干员】
事务
事务是一组不可分割的操作集合,要么都成功执行,要么都失败。如银行账户数据库操作,一个人给另一个人转账1000元,那么这两个人的update操作就是不可分割的,不然如果有一个操作成功执行另一个没有,就可能银行平白无故少了1000或者收款人没收到钱。
事务的步骤:
- 开启事务
- 执行一条条操作。这期间如果有失败则事务回滚。
- 全部执行完后提交事务。默认mysql是自动提交事务的,每执行一条语句就会提交一条。
开启事务
select @@autocommit;
1:自动提交
0:手动提交
set @@autocommit=0;-- 开启手动提交
rollback;-- 回滚
commit;-- 提交
或者在@@autocommit=1时临时开启事务:
start transaction;-- 开启事务
事务四大特性 ACID
atomicity 原子性:事务是不可分割的最小操作单元。
consistency 一致性:所有数据保持一致状态。
isolation 隔离性:事务不受外部干扰,独立进行。
durability 持久性:提交或回滚后,事务对数据库的操作就是永久的。
并发事务问题
多个事务同时进行时会出现的问题。
脏读:一个事务读到另一个事务未提交的数据(Read uncommitted会发生)

解决后:(给要读取的左边的窗口设置 read-committed 隔离级别)

不可重复读:一个事务前后读了同一个数据两次,两次值不一样。因为其他事务在这中间提交过一次。

幻读:一个事务插入一条不存在的数据时,其他事务先插入了,导致它插入失败。

开启序列化后,其他事务插入会卡住,等待当前事务插入完成后再执行插入操作。
解决并发问题——隔离级别

select @@TRANSACTION_ISOLATION;
如上语句查看当前数据库隔离级别。
set session/global TRANSACTION ISOLATION LEVEL SERIALIZABLE;-- 设置当前会话/全局事务隔离级别为serializable
边栏推荐
- NebulaGraph v3.2.0 Release Note,对查询最短路径的性能等多处优化
- MVCC是什么
- Vscode连接远程服务器(一套配置成功)
- First, the basic concept of reptiles
- Mysql based
- 【LeetCode】矩阵模拟相关题目汇总
- @Async注解的作用以及如何实现异步监听机制
- Nuclei (2) Advanced - In-depth understanding of workflows, Matchers and Extractors
- node中package解析、npm 命令行npm详解,node中的common模块化,npm、nrm两种方式查看源和切换镜像
- 【SSR服务端渲染+CSR客户端渲染+post请求+get请求+总结】
猜你喜欢

Xiaohei leetcode surfing: 94. Inorder traversal of binary tree

从单体架构迁移到 CQRS 后,我觉得 DDD 并不可怕

简单的顺序结构程序(C语言)

Day118. Shangyitong: order list, details, payment

【七夕快乐篇】Nacos是如何实现服务注册功能的?

三大技巧让你成功入门3D建模,零基础小白必看

招标公告 | 海纳百创公众号运维项目

Ab3d.PowerToys and Ab3d.DXEngine Crack

【手撕AHB-APB Bridge】~ AMBA总线 之 AHB

Xiaohei's leetcode journey: 95. Longest substring with at least K repeating characters
随机推荐
How to burn the KT148A voice chip into the chip through the serial port and the tools on the computer
KT6368A Bluetooth certification problem_FCC and BQB_CE_KC certification or other instructions
Ab3d.PowerToys and Ab3d.DXEngine Crack
美团二面:Redis与MySQL双写一致性如何保证?
Flutter启动流程(Skia引擎)介绍与使用
The role of @ Import annotations as well as how to use
#yyds dry goods inventory #Switching equipment serious packet loss troubleshooting
VMware NSX 4.0 -- 网络安全虚拟化平台
【LeetCode】滑动窗口题解汇总
Mathematical Principles of Matrix
【七夕快乐篇】Nacos是如何实现服务注册功能的?
LeetCode Hot 100
[LeetCode] Summary of Matrix Simulation Related Topics
三、实战---爬取百度指定词条所对应的结果页面(一个简单的页面采集器)
Bidding Announcement | Operation and Maintenance Project of Haina Baichuang Official Account
KT148A电子语音芯片ic方案适用的场景以及常见产品类型
网站最终产品页使用单一入口还是多入口?
[Happy Qixi Festival] How does Nacos realize the service registration function?
从单体架构迁移到 CQRS 后,我觉得 DDD 并不可怕
typeScript - Partially apply a function