幻读
数据库并发操作可能出现的问题。
幻读指得是一个事务的操作改变了另一个事务的查询结果。
幻读在只读的情况下不算问题,但在读-写情况下会造成数据冲突。
只读情况下
对表中插入了一条id=3的数据 。
在另一个事务中并不会影响查询结果。在同一个事务下 两次select * 的查询结果是相同的。
读-写模式
一个事务插入了id = 3这条数据 另一个事务在查询这条数据时确没有找到,选择插入这条数据 结果报错了。
解决方案
1 串行化 这是最高的隔离级别,在这种情况下,事务按顺序依次执行不会产生问题。
2 加锁
事务处于等待状态 无法插入。