MySQL高级教程之事务,什么是MySQL事务?
事务是一个操作序列,要么都执行成功,要么都不执行。整个事务单元内都是无法分割的。
注:启用事务,MySQL引擎必须为:InnoDB。在Python中的pymysql模块默认开启事务。
事务四大特性(ACID):
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
原子性(Atomicity):
一个事务是一个不可分割的最小单位,整个事务流程中,要么都执行成功,要么都不执行。不可能执行其中一部分。这就是事务的原子性。
一致性(Consistency):
在事务流程中,如果出现不可抗力的情况,如:系统崩溃。因为事务并没有提交,所以事务中的修改并不会影响数据库。
隔离性(Isolation):
多个客户端对一个数据库执行事务操作,在其中一个客户端没有提交事务(commit)之前,其他事务是不可见的。所谓不可见,就是其他客户端是看不到数据库的最终结果的。
持久性(Durability):
一旦事务提交,其事务流程中的所有操作会永远保持到数据库,即使发生意外情况。