当前位置: 首页 > news >正文

Mysql学习笔记——事务

1、概述

2、操作

对上述案例进行讲解

数据:

create table account(
id int auto_increment primary key comment '主键ID',
name varchar(10) comment '姓名',
money int comment '余额'
) comment '账户表';

insert into account(id, name, money) VALUES (null,'张三',2000),(null,'李四',2000);

步骤如下:

# 查询张三的账户余额 select money from account where name='张三'; # 给张三的余额减1000 update account set money=money-1000 where name='张三'; # 给李四的余额加1000 update account set money=money+1000 where name='李四';

在第二个语句之后加上错误(...很关键!!!)

set @@autocommit=1是自动提交,0是手动提交

在提交事务前如果程序出错,会将数据存到当前中缓存,但此时表格的数据没有变化,此时执行回滚事务,可以在当前缓存中消除改变的数据,防止出现,一个人的钱已经减了,但是另一个的还没加

#查看设置提交方式 select @@autocommit; set @@autocommit=0; # 查询张三的账户余额 select money from account where name='张三'; # 给张三的余额减1000 update account set money=money-1000 where name='张三'; 程序出错... # 给李四的余额加1000 update account set money=money+1000 where name='李四'; #提交事务 commit; #回滚事务 rollback ;

一种是设置事务开启的格式,一种就是下图中的开启事务的代码

3、特性

4、并发事务问题

脏读:当事务A在执行更新数据的操作时(但是并没有将数据提交到数据库),事务B读到了未提交的数据

前后两次分别去读的时候,数据发生了变化(同一行的数据发生变化)

读的时候还没有数据,事务B插入并提交,之后事务A要插入的时候又不能插入,然后再去读,发现这个数据依然不存在,但又不能插入

5、事务隔离级别

‘对号’表示会出现这种情况!

http://www.cnnetsun.cn/news/22516.html

相关文章:

  • 师生交流论坛|基于springboot + vue师生交流论坛系统(源码+数据库+文档)
  • 二手商城|基于springboot + vue二手商城系统(源码+数据库+文档)
  • 20、帧缓冲区接口设计与 STBmenu 简易 UI 开发
  • 24、深入浅出:SNMP 实践指南
  • 高级前端 Input 公共组件设计方案(Vue3 + TypeScript)
  • 前后端HTTPS及证书配置完整流程
  • TIA博途虚拟机终极配置指南:V17+V16+V15.1全版本一键部署
  • 【开题答辩全过程】以 基于Java的人体骨骼健康知识普及系统为例,包含答辩的问题和答案
  • 企业微信开发总卡壳?试试cpolar,回调调试超顺畅
  • ChatPPT:国内综合实力最强的AI PPT工具
  • 测试经验,自动化测试的痛点+发展趋势,一篇带你上高速...
  • NetGuard实战指南:告别流量焦虑,让Android网络管理如此简单
  • 大厂已经不用人干活了?“AI中台+Agent”正在重塑商业规则
  • Qwen2.5-Omni全模态大模型:70亿参数重构人机交互范式
  • Morisawa BIZ UDGothic 字体使用指南:让文字表达更专业优雅
  • 量子化学:材料的电子态密度
  • 零基础也能做!用Qoder快速开发“技能五子棋”蹭热点项目
  • GitHub加速终极方案:告别龟速访问,体验丝滑编程
  • 【总结】【计组】【OS】页号、页框号、虚拟地址、物理地址、地址
  • 超细整理,性能测试如何做?怎么做?性能压力负载(汇总三)
  • 国外代理IP怎么选?4大标准帮你避坑选优
  • 艾体宝洞察 | 当供应链恶意代码会“二次来袭”:Shai-Hulud 事件下,为什么必须重新审视你的应用安全体系?
  • OpenHarmony环境搭建——02-JDK17安装教程
  • 艾体宝干货 |【Redis实用技巧#4】Redis分布式锁真的安全吗?可靠性深度剖析(Part 2)
  • 21-4. PLC的基本逻辑指令(置位,复位指令)
  • VueScan Pro:专业扫描仪增强软件,支持多品牌设备与高质量OCR识别
  • Kali 必备!Burp Suite 超全教程 网安新手必看
  • 60、深入理解与配置 SSH:安全远程访问的全面指南
  • 视频生成大模型Wan2.2开源:MoE架构重构创作生态,消费级显卡实现电影级视频生成
  • [HNCTF 2022 Week1]easync