什么情况下操作情况下查询数据库表锁的PID出现两条相同数据?

在同一个事务中先执行了数据新增,再进行更新操作。数据库新增前查询锁表情况,发现已经存在一个PID,再执行新增操作之后,查询锁表情况,出现了两个相同的PID数据,最后执行更新操作时会一致执行不下去,会等待上面的锁释放掉才行。
什么情况下操作情况下查询数据库表锁的PID出现两条相同数据?
图片说明

事务隔离级别,可重复读,提交读等出现幻读情况,需要加互斥锁select ... for update