数据库中的脏读、幻读和不可重复读
1.脏读是指一个事务正在访问数据,并对数据进行了修改,而且没有提交,这时,另一个事务也访问了这个数据,然后使用了这个数据(读出的是脏数据);
2.不可重复读:指在一个事务内多次读同一数据,在这个事务还没有结束时,另一个事务也访问了该数据。在第一个事务的两次读数据之间,第二个事务也修改了数据,所以第一个事务两次读到的数据是不一样的,称为不可重复读(读不到相同的数据);
3.幻读:是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,并涉及到表中的全部数据行,同时,第二个事务也修改了这个表中的数据,这种修改是向表中插入一行新数据,此时第一个事务的操作者就会发现表中还有没有修改的数据行(产生了幻觉)