当前位置:网站首页>事务、存储引擎
事务、存储引擎
2022-08-10 05:31:00 【hagong9】
目录

事物有什么用?

如上图,用以前的知识来实现这个需求是没问题的,但是如果出现了 第一条语句执行成功,第二条语句没成功的情况,那么会凭空消失100元 ,要想杜绝这个问题,就应该把这两条语句变成一组语句,要么都成功,要么都失败。这个时候就要用事物来解决。
事物操作演示
-- 事物操作演示
-- 1,创建一个演示表
CREATE TABLE demo
(id INT,
`name` VARCHAR(10))
-- 2.开始事物
START TRANSACTION
-- 3.设置保存点
SAVEPOINT a
-- 4 dml操作
INSERT INTO demo
VALUES (1,'张三')
-- 5,设置第二个保存点
SAVEPOINT b
-- 6.再执行dml操作,这里再插入一条消息
INSERT INTO demo
VALUES (2,'李四')
-- 7.查询下现在的demo表
SELECT * FROM demo
】
回退到某个保存点
-- 8.回退到保存点b
ROLLBACK TO b
-- 9.再次查询demo表
SELECT * FROM demo 
这个保存点就和游戏的存档差不多,选择想要的存档进行读档操作。
其中如果出现没法回档的情况,是因为表的引擎不是INNODB 需要在创建表的时候指定或在设计表中更改。

事物细节

事物中的隔离级别

简单解释,现在有两个连接,A和B
两个人开启事物,A连接修改数据库,但未提交,这时B查询了一下数据库,结果读到了A修改的数据,这就是脏读。
A对数据库进行修改和删除(插入),也提交了,但是b未提交自己的,正常情况下B看到的应该是开始事物时的数据库数据,结果查询数据库时却看到的是被a影响的数据库,这就是不可重复读。(幻读)。
加锁的意思是,同一时间只能有一个连接对数据库进行超支,比如,A对数据库进行修改,但是未提交,这时B查询数据库,就会卡在查询语句上,不执行
设置隔离级别


事物ACID

存储引擎

使用show engines 来查看所有的引擎
使用 alter table `表名` engines = xxxxx 来修改表的引擎
主要引擎的特点

边栏推荐
猜你喜欢
随机推荐
你不知道的常规流
链读|最新最全的数字藏品发售日历-07.29
Pony语言学习(九)——泛型与模式匹配(终章)
反转链表中的第m至第n个节点---leetcode
图纸怎么折?(A0,A1,A2,A3の图纸如何折成A4大小)
再肝3天,整理了90个 NumPy 例子,不能不收藏!
基于Qiskit——《量子计算编程实战》读书笔记(五)
【论文笔记1】小样本分类
el-cascader级联选择器的子菜单双击两次才显示被选中的内容
清览题库--C语言程序设计第五版编程题解析(1)
几种绘制时间线图的方法
Mockito基本使用指南
k-近邻实现手写数字识别
深度学习模型训练前的必做工作:总览模型信息
latex图片排版技巧总结
Talk about API Management - Open Source Edition to SaaS Edition
Practical skills 19: Several postures of List to Map List
Interface documentation evolution illustration, some ancient interface documentation tools, you may not have used it
Touch chip used in smart touch remote control
第十天作业









