(1)丢失修改
当两个或多个事物读入同一数据并修改,会发生丢失更新问题,即后一个事物更新的结果被前一事务所做更新覆盖 即当事务A和B同事进行时,事务A对数据已经改变但并未提交时,B又对同一数据进行了修改(注意此时数据是A还未提交改变的数据),导致A做的数据改动丢失了(数据还未提交就被动了)。
(2)不可重复读
当一个事务读取某个数据后,另一事务执行了对该数据的更新,当前事务再次读取该数据(希望与第一次读取的是相同的值)时,得到的数据与前一次的不一样,这是由于第一次读取数据后,事务B对其做了修改,导致再次读取数据时与第一次读取的数据不相同。
(3)读‘脏数据’
当一个事务修改某个数据后,另一事务对该数据进行了读取,由于某种原因前一事务撤销了对数据的修改(即将修改过的数据恢复原值),那么后一事务读到的数据与数据库中的数据不一致,这称之为读脏数据。
还有一个叫“幽灵数据” 幽灵数据与脏数据类似,不过幽灵数据是指 事务提交之后读到的数据 ,但是在读取之后又进行了对前一事务的恢复,而脏数据是指并未提交前读取的数据 (一个是提交后读取数据,一个是提交前读取数据).
注意:
修改了数据,不管提交与否,都可以进行读取。