MySQL事物
什么是事务: 在实际的开发过程中,一个业务操作如:转账,往往是要多次访问数据库才能完成的。转
账是一个用户扣钱,另一个用户加钱。如果其中有一条 SQL 语句出现异常,这条 SQL 就可能执行失
败。
事务执行是一个整体,所有的 SQL 语句都必须执行成功。如果其中有 1 条 SQL 语句出现异常,则所有
的SQL 语句都要回滚,整个业务执行失败。
MySQL默认是自动提交事物:
自动提交事务
MySQL 默认每一条 DML(增删改)语句都是一个单独的事务,每条语句都会自动开启一个事务,语句执
行完毕自动提交事务,MySQL 默认开始自动提交事务
我们可以改成手动提交:

@@表示全局变量,1 表示开启,0 表示关闭:
事务可以保证多个操作原子性,要么全成功,要么全失败。
对于数据库来说事务保证批量的DML要么全成功,要么全失败。
事务具有四个特征ACID:
原子性(Atomicity)
整个事务中的所有操作,必须作为一个单元全部完成(或全部取消)。
一致性(Consistency)
在事务开始之前与结束之后,数据库都保持一致状态,即数据库的完整性约束没有被破坏 。
类似于能量守恒,比如A向B转账,不可能A扣了钱,B却没收到。
隔离性(Isolation)
一个事务对另一个事务的影响。类似于多线程并发。
持久性(Durability)
在事务完成以后,该事务对数据库所作的更改将持久地保存在数据库之中,并不会被回滚。
事务中存在一些概念事务(Transaction):
- 一批操作(一组DML)
- 开启事务(Start Transaction)
- 回滚事务(rollback)
- 提交事务(commit)
- SET AUTOCOMMIT:禁用或启用事务的自动提交模式
当执行DML语句是其实就是开启一个事务
关于事务的回滚需要注意:只能回滚insert、delete和update语句,不能回滚select(回滚select没有任
何意义),对于create、drop、alter这些无法回滚。事务只对DML有效果。
注意:rollback,或者commit后事务就结束
事务原理
事务开启之后, 所有的操作都会临时保存到事务日志中, 事务日志只有在得到 commit 命令才会同步到数
据表中,其他任何情况都会清空事务日志(rollback,断开连接)

事务的步骤
1. 客户端连接数据库服务器,创建连接时创建此用户临时日志文件
2. 开启事务以后,所有的操作都会先写入到临时日志文件中
3. 所有的查询操作从表中查询,但会经过日志文件加工后才返回
4. 如果事务提交则将日志文件中的数据写到表中,否则清空日志文件。
事务的隔离级别
事务的并发问题
1. 脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据
2. 不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提
交,导致事务A多次读取同一数据时,结果 不一致。
3. 幻读:系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就
在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,
就好像发生了幻觉一样,这就叫幻读。
小结:不可重复读的和幻读很容易混淆,不可重复读侧重于修改,幻读侧重于新增或删除。解决
不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表

作者:隔壁老郭
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
Java入门到入坟
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南