了解这一点之前,需要先了解这个两个概念InnoDB事务日志
原子性
由undo log日志保证,它记录了需要回滚的日志信息,事务回滚时撤销已经执行成功的sql
一致性
由其他三大特性保证,程序代码要保持业务上的逻辑性
比如如果插入相同主键的记录,数据库会报错,但是比如银行中有90块但是你要取100块,就应该在程序代码中保证程序不能继续运行
隔离性
由MVCC(多版本并发控制)实现
持久性
由内存+redo log保证,mysql修改数据同时在内存和redo log记录这次操作,宕机后可以从redo log恢复