当前位置:网站首页>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
边栏推荐
- 头脑风暴:完全背包
- 再肝3天,整理了90个 NumPy 例子,不能不收藏!
- Statistical words (DAY 101) Huazhong University of Science and Technology postgraduate examination questions
- 标识符、关键字、常量 和变量(C语言)
- 没有这些「伪需求」,产品经理的 KPI 怎么完成?
- 10 个关于 Promise 和 setTimeout 知识的面试题,通过图解一次说透彻
- Mysql based
- mysql基础
- 【LeetCode】Summary of Two Pointer Problems
- 软件质量评估的通用模型
猜你喜欢

统计单词(DAY 101)华中科技大学考研机试题
情人节---快来学习一下程序员的专属浪漫吧
手写分布式配置中心(1)

VMware NSX 4.0 -- 网络安全虚拟化平台

Day118. Shangyitong: order list, details, payment

uniapp动态实现滑动导航效果demo(整理)

KT6368A Bluetooth certification problem_FCC and BQB_CE_KC certification or other instructions

建模师经验分享:模型学习方法

jenkins send mail system configuration

【Valentine's Day special effects】--Canvas realizes full screen love
随机推荐
【无标题】
软件开发工具的技术要素
资深游戏建模师告知新手,游戏场景建模师必备软件有哪些?
Mysql based
.net (C#) get year month day between two dates
【云原生--Kubernetes】Pod控制器
Basic web in PLSQL
Basic web in PLSQL
Flutter启动流程(Skia引擎)介绍与使用
KT6368A蓝牙的认证问题_FCC和BQB_CE_KC认证或者其它说明
NebulaGraph v3.2.0 Release Note,对查询最短路径的性能等多处优化
游戏3D建模入门,有哪些建模软件可以选择?
Metasploit-域名上线隐藏IP
矩阵数学原理
mysql基础
入门3D游戏建模师知识必备
Xiaohei leetcode surfing: 94. Inorder traversal of binary tree
2022 Niu Ke Summer Multi-School Training Camp 5 (BCDFGHK)
Getting started with 3D modeling for games, what modeling software can I choose?
Three tips for you to successfully get started with 3D modeling