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
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.