当前位置:网站首页>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
边栏推荐
- Cython
- 性能测试如何准备测试数据
- 【SSR服务端渲染+CSR客户端渲染+post请求+get请求+总结】
- The master teaches you the 3D real-time character production process, the game modeling process sharing
- typeScript - Partially apply a function
- 怎么将自己新文章自动推送给自己的粉丝(巨简单,学不会来打我)
- 招标公告 | 海纳百创公众号运维项目
- Basic web in PLSQL
- 注解@EnableAutoConfiguration的作用以及如何使用
- 一、爬虫基本概念
猜你喜欢

资深游戏建模师告知新手,游戏场景建模师必备软件有哪些?

3. Actual combat---crawl the result page corresponding to Baidu's specified entry (a simple page collector)
手写分布式配置中心(1)

【SSR服务端渲染+CSR客户端渲染+post请求+get请求+总结】
![情侣牵手[贪心 & 抽象]](/img/7d/1cafc000dc58f1c5e2e92150be7953.png)
情侣牵手[贪心 & 抽象]

【云原生--Kubernetes】调度约束
![[Happy Qixi Festival] How does Nacos realize the service registration function?](/img/df/5793145da45bc80d227b0babfac914.png)
[Happy Qixi Festival] How does Nacos realize the service registration function?

jenkins send mail system configuration

Xiaohei's leetcode journey: 95. Longest substring with at least K repeating characters

Xiaohei leetcode surfing: 94. Inorder traversal of binary tree
随机推荐
Uniapp dynamic sliding navigation effect demo (finishing)
Security software Avast and Symantec NortonLifeLock merge with UK approval, market value soars 43%
性能测试如何准备测试数据
[LeetCode] Summary of Matrix Simulation Related Topics
基于深度学习的路面坑洞检测(详细教程)
OpenCV:10特征检测
@Import注解的作用以及如何使用
~ hand AHB - APB Bridge 】 【 AMBA AHB bus
Day118.尚医通:订单列表、详情、支付
Modelers experience sharing: model study method
KT148A电子语音芯片ic方案适用的场景以及常见产品类型
10 种常见的BUG分类
The role of @Async annotation and how to implement asynchronous listening mechanism
NebulaGraph v3.2.0 Release Note, many optimizations such as the performance of querying the shortest path
mysql基础
Flask框架 根据源码分析可扩展点
Mathematical Principles of Matrix
三大技巧让你成功入门3D建模,零基础小白必看
Cython
Basic web in PLSQL