capypad
0 Tage Serie
sql / expert
Snippet

Transaktions-Isolationsstufen und Integrität

Isolationsstufen definieren, wie die Integrität von Transaktionen für andere Benutzer und Systeme sichtbar ist. SERIALIZABLE ist die höchste Stufe und verhindert Dirty Reads, Non-Repeatable Reads und Phantom Reads durch Simulation einer sequentiellen Ausführung.

snippet.sql
sql
1
2
3
4
5
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
START TRANSACTION;
UPDATE accounts SET balance = balance - 500 WHERE account_id = 101;
UPDATE accounts SET balance = balance + 500 WHERE account_id = 102;
COMMIT;
Erklärung
1
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
Gewährleistet die höchste Stufe der Datenkonsistenz für die kommende Transaktion.
2
START TRANSACTION
Beginnt eine logische Arbeitseinheit, die als Ganzes erfolgreich sein oder fehlschlagen muss.
3
COMMIT
Speichert alle während der Transaktion vorgenommenen Änderungen dauerhaft in der Datenbank.