Qual é a diferença entre leitura não repetível e leitura fantasma?

Qual é a diferença entre leitura não repetível e leitura fantasma?

Eu li oArtigo de isolamento (sistemas de banco de dados) da Wikipediamas tenho algumas dúvidas. No exemplo abaixo, o que acontecerá: oleitura não repetível eleitura fantasma?

Transação A
SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1
SAÍDA:
1----MIKE------29019892---------5000
Transação B
UPDATE USERS SET amount=amount+5000 where ID=1 AND accountno=29019892;
COMMIT;
Transação A
SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1

Outra dúvida é, no exemplo acima, qual nível de isolamento deve ser usado? E porque?

questionAnswers(2)

yourAnswerToTheQuestion