在并发情况下的事务可能会产生的问题(重要):
① 脏读:所谓脏读,就是指事务A读到了事务B还没有提交的数据,比如银行 取钱,事务A开启事务,此时切换到事务B,事务B开启事务-->取走 100元,此时切换回事务A,事务A读取的肯定是数据库里面的原始 数据,因为事务B取走了100块钱;并没有提交,数据库里面的账务 余额肯定还是原始余额,这就是脏读
② 不可重复读:是指在一个事务里面读取了两次某个数据,读出来的数据不一致。 还是以银行取钱为例,事务A开启事务-->查出银行卡余额为1000 元,此时切换到事务B,事务B开启事务-->事务B取走了100元 -->提交,数据库里面余额变为900元,此时切换回事务A,事务 A再查一次账户余额为900元,这样对事务A而言,在同一个事 务内两次读取账户余额数据不一致,这就是不可重复读
③ 幻读:是指在一个事务里面的操作中发现了未被操作的数据。比如学生信息, 事务A开启了事务-->修改所有学生当天签到状况为false,此时切换 到事务B,事务B开启了事务-->事务B插入了一条学生数据,此时切 换回事务A,事务A提交的时候发现了一条自己没有修改过的数据, 这就是幻读,就好像发生了幻觉一样,幻读出现的前提是并发的事务中 有事务发生了插入、删除操作