news 2026/8/21 0:51:28

Mysql学习笔记——事务

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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、事务隔离级别

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 9:23:42

从零构建8位RISC架构CPU:Verilog实现的完整指南

从零构建8位RISC架构CPU:Verilog实现的完整指南 【免费下载链接】8-bits-RISC-CPU-Verilog Architecture and Verilog Implementation of 8-bits RISC CPU based on FSM. 基于有限状态机的8位RISC(精简指令集)CPU(中央处理器&…

作者头像 李华
网站建设 2026/8/21 12:13:03

17、构建前端面板界面的技术与实践

构建前端面板界面的技术与实践 1. 常见架构与硬件选择 1.1 架构概述 一种常见架构是让 Linux 处理器通过连接到串行、并行或 USB 端口的控制器芯片来处理 LCD。这种架构适用于小批量生产以及基于个人计算机主板的设备。采用该架构的 LCD 通常有 1 - 4 行文本,每行 10 - 40 …

作者头像 李华
网站建设 2026/8/21 8:50:22

19、帧缓冲接口设计与图形编程实践

帧缓冲接口设计与图形编程实践 1. 帧缓冲操作基础 在进行帧缓冲操作时,完成某些命令(特别是对于大的帧缓冲,可能会花费一些时间)后,可能会看到错误信息: cat: write error: No space left on device这是因为尝试将无限的比特流输入到有限的内存中。每次实验后,可以输…

作者头像 李华
网站建设 2026/8/20 9:55:07

国产大模型改写行业规则:MiniMax-M2以8%成本实现Claude级性能

导语 【免费下载链接】MiniMax-M2 MiniMax-M2是MiniMaxAI开源的高效MoE模型,2300亿总参数中仅激活100亿,却在编码和智能体任务上表现卓越。它支持多文件编辑、终端操作和复杂工具链调用 项目地址: https://ai.gitcode.com/MiniMax-AI/MiniMax-M2 …

作者头像 李华
网站建设 2026/8/21 21:54:48

28、实现 SNMP MIB 指南

实现 SNMP MIB 指南 1. 调整 MIB 对象定义 在实现 SNMP MIB 时,我们对 MIB 对象进行了一系列调整。首先移除了 trapInfo 部分的对象,修正了 OIDs 以及后缀长度。由于 OIDs 变长,我们将用于数组模板的结构体类型从 variable4 改为 variable7。Net - SNMP 头文件提供了不同长…

作者头像 李华
网站建设 2026/8/20 8:11:47

Llama-Factory结合WandB实现远程训练监控与可视化

Llama-Factory结合WandB实现远程训练监控与可视化 在大模型时代,一个常见的尴尬场景是:你启动了一次长达数小时的LoRA微调任务,满怀期待地盯着本地终端输出。突然SSH连接中断——再登录时,不仅看不到实时loss曲线,甚至…

作者头像 李华