¿Cuál es la diferencia entre la lectura no repetible y la lectura fantasma?

¿Cuál es la diferencia entre la lectura no repetible y la lectura fantasma?

He leído elArtículo de aislamiento (sistemas de bases de datos) de Wikipedia, pero tengo algunas dudas. En el siguiente ejemplo, lo que sucederá: lalectura no repetible ylectura fantasma?

Transacción A
SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1
SALIDA:
1----MIKE------29019892---------5000
Transacción B
UPDATE USERS SET amount=amount+5000 where ID=1 AND accountno=29019892;
COMMIT;
Transacción A
SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1

Otra duda es, en el ejemplo anterior, ¿qué nivel de aislamiento se debe usar? ¿Y por qué?

Respuestas a la pregunta(2)

Su respuesta a la pregunta