Transaktionen werden nicht explizit auf der Ebene der
Speicher-Engines, sondern implizit durch Aufrufe der Funktion
start_stmt()
oder
external_lock()
gestartet. Falls bei Aufruf
dieser Funktionen bereits eine Transaktion läuft, wird diese
nicht ersetzt.
Die Speicher-Engine speichert Transaktionsinformationen in ihrem
pro Verbindung zugewiesenen Arbeitsspeicher und registriert die
Transaktion beim MySQL Server, damit dieser später
COMMIT
- und
ROLLBACK
-Operationen ausführen kann.
Die Speicher-Engine muss irgendeine Art von Versionierung oder Protokollierung implementieren, damit alle Operationen, die im Rahmen der Transaktion ausgeführt werden, wieder zurückgerollt werden können.
Nach getaner Arbeit ruft der MySQL Server entweder die
commit()
-Funktion oder die im Handlerton
der Speicher-Engine definierte
rollback()
-Funktion auf.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.