1.事务的四大特征:
答: 我了解事务的四大特征,他们分别是原子性,一致性,隔离性,持久性。
原子性:
一系列sql语句要么执行,要么不执行,是不可分割的,不能执行一部分。
一致性:
定义是:要么是完全执行的状态,要么是完全不执行的状态。,我个人的理解是:一致性是说的业务层面的,例如银 行转账业务,一张卡减掉200元,另一张卡必须增加200元,不存在此消不彼长的情况。
隔离性:
1:一个事务在执行过程中其他的事务是不可见的。
2:一个事务在修改一个数据的时候另外一个事务不允许对这个数据进行修改。晚的事务会阻塞状态,等第一个事务执 行完,第二个事务解阻塞。
持久性:
一旦事务提交数据就保存在数据库中,持久保存。
2.脏读,幻读,不可重复读:
脏读:读到没有提交的数据。
案例:A事务读取B事务尚未提交的数据,此时如果B事务发生错误并执行回滚操作,那么A事务读取到的数据就是脏数据。
不可重复读:读到两个不一样的数据。(指的是数据内容)
案例:A先读取数据为100,此时B事务修改该数据为200,然后提交。A再次读取数据为200。这种情况就是不可重复读。
幻读:读到两个不一样的数据集。(指的是整体的数据集)
案例:A先读取数据集一共100条数据,此时B事务增加了200条数据,