Транзакция A дважды читает одну и ту же строку. Между этими чтениями вклинивается транзакция B, которая изменяет значения в строке.
Транзакция A | Время | Транзакция B |
Чтение | --- | |
--- | Чтение | |
--- | Запись | |
--- | Фиксация транзакции | |
Повторное чтение | --- | |
Фиксация транзакции | --- | |
Неповторяемое считывание |
Транзакция A ничего не знает о существовании транзакции B, и, т.к. сама она не меняет значение в строке, то ожидает, что после повторного чтения значение будет тем же самым.
Результат. Транзакция A работает с данными, которые, с точки зрения транзакции A, самопроизвольно изменяются.