更多知识,请移步我的小破站:http://hellofriend.top
事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。 仅从其定义来看,你可能难以理解什么是事物,接下来我们举个经典例子来说明事务的用途:
用户A向用户B转账,我们需要进行以下操作:从A账户中把余额读出来;对A账户做减法操作;把结果写回A账户中;从B账户中把余额读出来;对B账户做加法操作;把结果写回B账户中。
在以上这些操作中需要保证所有操作是一个整体,即:要么都成功,要么都不成功。 为了解决这种问题,我们引入了事务。
ACID特性
数据库事务拥有以下4大特性: 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
1. 原子性
原子性是指事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。
简单来说就是操作成功了就成功了,一旦操作失败了就会放弃事务中已经执行的操作,回到事务刚开始的状态。
2. 一致性
一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。这是说数据库事务不能破坏关系数据的完整性以及业务逻辑上的一致性