本文为MySQL事务知识总结,本文参考了Guide哥的MySQL知识总结,对应链接为:MySQL知识点&面试题总结
1.什么是事务?
事务是逻辑上的一组操作,要么都执行,要么都不执行(要么都执行成功,要么都执行失败)。
一个简单的例子:
A给B转账100元,将个过程看一共有两个步骤
step1:在A的账户上扣去100元
step2:在B的账号上加上100元
两个步骤就可以看成是一组操作。在SQL层面就是需要两条SQL语句。
那么这个过程就必须满足要么都执行,要么都不执行。这个过程便可以理解为一个事务。
2.MySQL数据库事务的ACID特性
(1)原子性(Atomicity):事务是最小的执行单位(类似物理中原子是组成物质的最小单位),不可继续分割。事务原子性即保持事务要么都执行,要么都不执行。
(2)一致性(Consistency):事务执行完和执行后,数据保持一致。比如转账操