MySQL---事务

本文介绍了MySQL中的事务,强调了事务作为最小工作单元的重要性,以银行转账为例解释事务的必要性。详细讲解了事务的开启、提交、回滚操作,并探讨了事务的四大特性——原子性、一致性、隔离性和持久性。接着,文章阐述了不同隔离级别的概念,如读未提交、读已提交、可重复读和串行化,以及它们在防止脏读、不可重复读和幻读方面的效果。
摘要由CSDN通过智能技术生成

事务简介

事务(Transaction):一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元)。

事务只和 DML 语句有关,或者说 DML 语句才有事务。

转账操作理解事务

以下是银行账户表 t_act(账号、余额),进行转账操作。

actno balance
1 500
2 200

使用 update 语句实现转账操作,实现账号 1 向账号 2 转账 100 元。

-- 分析:转账操作,需要账号 1 余额减少 100 元,同时需要账号 2 余额增加 100 元。
update t_act set balance=balance-100 where actno=1;
update t_act set balance=balance+100 where actno=2;

在一个转账业务中,以上两条 DML 语句必须同时成功或者同时失败。

最小单元不可再分,当第一条 DML语句执行成功后,并不能将底层数据库中的第一个账户的数据修改,只是将操作记录了一下;这个记录是在内存中完成的;当第二条 DML 语句执行成功后,和底层数据库文件中的数据完成同步。若第二条 DML 语句执行失败,则清空所有的历史操作记录,要

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值