黑马day11 脏读数据&解
amp 黑马
2023-09-14 09:08:02 时间
数据库:
create table account (
id int primary key auto_increment,
name varchar(20),
money double
);
insert into account values(null,'a',100);
insert into account values(null,'b',100);
1.演示脏读
开两个client的窗体,Aclient的级别是数据库默认的Repeatable read -- 可以防止脏读/不可反复读问题,可是不能防止虚读(幻读)问题。Bclient的级别更改为效率最高的Read uncommitted级别 不可以解决脏读的问题
A窗体:
开启事务:start transaction;
a账户转账10元到b账户:update account set money=money-10 where name='a';
b账户添加10元:update account set money=money+10 where name='b';
不提交事务;
B窗体:
开启事务:start transaction;
查询数据库中的b账户数据:select * from account;
A窗体:
回滚事务:rollback;
B窗体:
查询数据:select * from account;
脏读数据产生。
解决方式:
B窗体的隔离级别改为Read committed
相关文章
- 【C语言】静态&动态&文件通讯录(超万字)
- ECCV2022 &CVPR2022论文速递2022.8.9!
- 7 Papers & Radios | ECCV 2022最佳论文;Transformer在试错中自主改进
- js事件循环与macroµ任务队列
- 性能测试(第3集)第17讲JMeter测试计划&线程组&HTTPCookie管理&用户定义的变量&HTTP头信息管理&循环控制器
- 【升级版学生信息管理系统&员工工资信息管理系统】+文件操作+更多细节
- 盘点:国内外SD-WAN&SASE提供商(2023版)
- 7 Papers & Radios | 全球最大人脸数据集;类Transformer模型跨界视觉任务新SOTA
- Google 发布 Android 6.0 SDK & Android M 开发者预览最终版