MySQL事物的4种并发问题(脏读,幻读,不可重复度,丢失更新)

由于MySQL事物的隔离级别不同,可以造成一些并发问题:

一、脏读:

    事物A修改了数据表中的一个数据num,但是没有提交,此时事物B读取了num,事物A rollback ,num改变为原来的值,那么事物B读到的num即为脏数据。

二、幻读:

    事物A在用一个表,此时事物B在表中增加/删除了一条数据,A发现多了/少了一条数据,即为幻读。

三、不可重复度:

    A在用num为1,B将num改为2,且已经提交,A再读num为2,1 != 2 ,重复读取一个数据,前后不一致。

四、丢失更新:

    A、B同时操作一条数据,B的修改覆盖了A的,即出现丢失更新。


要解决以上问题需要了解MySQL的事物隔离级别,以及锁机制,下篇再说。

猜你喜欢

转载自blog.csdn.net/weixin_41068851/article/details/80978562