Jest to sytuacja, w której jeszcze przed zakończeniem (commit) jednej transakcji druga transakcja nadpisuje zmiany tej pierwszej. Istotnym elementem jest tutaj uprzednie sprawdzenie stanu bazy danych.

Przykład – licznik odwiedzin strony
0. Załóżmy, że jeszcze nikt nie odwiedził jeszcze naszej strony, a więc licznik jest równy zero (licznik = 0)
1. Pierwsza transakcja (pierwszy użytkownik wchodzi na stronę) odczytuje licznik równy zero (licznik = 0)
2. Druga transakcja (drugi użytkownik wchodzi na stronę) odczytuje licznik równy zero (licznik = 0)
3. Pierwsza transakcja dodaje plus jeden do wcześniej odczytanej wartości (licznik = 1)
4. Druga transakcja dodaje plus jeden do wcześniej odczytanej wartości (licznik = 1)
5. Pierwsza transakcja kończy wykonanie
6. Druga transakcja kończy wykonanie
Finalnie licznik jest równy 1, a powinien być równy 2 (ponieważ strona została odwiedzona dwukrotnie).