La "lectura fantasma" en MySQL en el nivel de aislamiento RR está muy oculta, pero aún puede reproducirla. Estos son los pasos:
-
crear tabla ab (una clave principal int, b int);
-
Tx1:
comenzar;
seleccione * de ab; // conjunto vacio - Tx2:
comenzar;
insertar en valores ab(1,1);
commit; - Tx1:
seleccione * de ab; // conjunto vacío, falta la lectura fantasma esperada.
actualizar ab establecer b =2 donde a =1; // 1 fila afectada.
seleccione * de ab; // 1 fila. lectura fantasma aquí!!!!
comprometerse;