Jaka jest różnica między niepowtarzalnym odczytem a odczytem fantomowym?
Przeczytałem artykuł Isolation (systemy bazodanowe) z Wikipedii , ale mam kilka wątpliwości. W poniższym przykładzie, co się stanie: niepowtarzalny odczyt i odczyt fantomowy ?
Transakcja ASELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1
WYNIK:
1----MIKE------29019892---------5000
Transakcja B
UPDATE USERS SET amount=amount+5000 where ID=1 AND accountno=29019892;
COMMIT;
Transakcja A
SELECT ID, USERNAME, accountno, amount FROM USERS WHERE ID=1
Kolejną wątpliwością jest w powyższym przykładzie, który poziom izolacji należy zastosować? I dlaczego?