Poziomy izolacji transakcji bazodanowych
Można to osiągnąć w Twojej bazie danych, wykorzystując gwarancje z Twojej konkretnej bazy danych (mysql).
Domyślny poziom izolacji dla postgres/mysql pozwala na dwa równoczesne odczyty, aby zobaczyć te same dane, a następnie każdy z nich nadpisze drugi (przy zapisie).
Dokumentacja postgresa zawiera doskonały przykład tego przypadku :
BEGIN;
UPDATE accounts SET balance = balance + 100.00 WHERE acctnum = 12345;
UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 7534;
COMMIT;
...