SQL-satser är atomära. Det vill säga om du kör något sånt här:
UPDATE Cars SET Sold = Sold + 1
Ingen kan ändra
Problemet uppstår om du har påståenden som är beroende av varandra:
a = SELECT Sold FROM Cars;
UPDATE Cars SET Sold = a + 1;
Mellan dessa frågor kan en annan användare ändra tabellen Bilar och uppdatera Såld. För att förhindra detta, slå in det i en transaktion:
BEGIN;
a = SELECT Sold FROM Cars;
UPDATE Cars SET Sold = a + 1;
COMMIT;
Transaktioner stöds av InnoDB, men inte av MyISAM.