由于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的事物隔离级别,以及锁机制,下篇再说。