https://www.cnblogs.com/fengzheng/p/12557762.htmlv
什么是事务?
事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行。程序和事务是两个不同的概念。一般而言:一段程序中可能包含多个事务。(说白了就是几步的数据库操作而构成的逻辑执行单元)
为什么需要有事务
了解事务之前,先来看看数据库为什么需要有事务,假设没有事务会有什么影响?
举一个转账的例子,假设你朋友向你借10000元,你打开APP,乐呵呵的把钱转了,你的卡里已经少了10000元,但是你打电话给朋友时,你朋友说没有收到啊,你这时候肯定卖银行怎么不靠谱,没到账怎么把我卡里的钱给扣了。
我们来捋一捋上述银行发生的过程,简单的分三步:
A发起转账10000给B -> A银行卡减10000元 -> B银行卡增加10000元。
上述案例是第三步出现了问题,如果有事务,则不会发生案例中的事情,可以理解为事务就是这三个步骤是一根绳子上的蚂蚱,要么都成功,要么都失败。
所以数据库引入事务的主要目的是事务会把数据库会从一种一致状态转换到另一种一致状态,数据库提交工作时可以确保要么所有修改都保存,要么所有修改都不保存。
了解事务,还需要了解事务的理论依据ACID,也可以说事务的几个特性。