Bazy danych · Middle · Pytanie 18 z 75

Czym jest „utracona aktualizacja” (lost update) i jak jej zapobiec?

-- Dwa żądania jednocześnie:
SELECT balance FROM accounts WHERE id = 1;   -- oba czytają 100
UPDATE accounts SET balance = 150 WHERE id = 1;  -- +50
UPDATE accounts SET balance = 130 WHERE id = 1;  -- +30

Wyjaśnienie

Klasycznym źródłem jest „odczytaj-zmień-zapisz” w kodzie aplikacji. Niech arytmetykę wykona baza, albo zablokuj lub wersjonuj wiersz.

Do poczytania

Błąd w pytaniu

Bazy danych · Middle · pytanie 18

Sprawdź się

Rozwiąż test Bazy danych · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test