Bootstrap

【MySQL】MySQL脏读、幻读以及不可重复读、我真的不会读

在这里插入图片描述

1.概述

以前看MySQL脏读、幻读以及不可重复读,总是很官方的语言来解释,或者案例搞得不是很好,很难记忆以及理解。本章比较通俗。

我们以银行转账为例,在银行转账中,转账发起方要扣减金额,如果执行到最后一步的时候如果断电了,那么就会导致很严重的问题。比如转账发起方扣钱了,但是接收方没有收到钱,钱就无缘无故的减少了。

在这里插入图片描述
如果要解决这个问题,那么就要保证两边的操作,必须是一个完整的整体,要么全部成功,要么全部失败。而数据库的事务就能达到这个效果。

事务可以在出错的时候,可以进行回滚数据,达到像是没有修改的状态。

在MySQL中Innodb是支持事务的,并不是所有的引擎都支持事务的,比如MySQL的MulSAM就不支持事务,所以我们在业务当中基本使用的都是Innodb。

事务虽然说听起来很简单,但是也是准寻一定的规范的。最关键的规范就是四个原

;