In InnoDB
findet jegliche Benutzeraktivität
in einer Transaktion statt. Wenn der Autocommit-Modus
eingeschaltet ist, bildet jede SQL-Anweisung eine eigene
Transaktion. Standardmäßig ist dieser Modus immer aktiv, wenn
MySQL hochfährt.
Wird Autocommit mit SET AUTOCOMMIT = 0
ausgeschaltet, gehen wir davon aus, dass der Benutzer immer eine
Transaktion offen hat. Eine COMMIT
- oder
ROLLBACK
-Anweisung beendet die laufende
Transaktion und eine neue beginnt. COMMIT
bedeutet, dass die Änderungen, die in der aktuellen Transaktion
vorgenommen wurden, in der Datenbank dauerhaft festgeschrieben
und für andere Benutzer sichtbar gemacht werden. Eine
ROLLBACK
-Anweisung hingegen macht alle
Änderungen in der aktuellen Transaktion rückgängig. Beide
Anweisungen geben auch alle InnoDB
-Sperren
frei, die in der Transaktion gesetzt wurden.
Wenn auf einer Verbindung Autocommit eingeschaltet ist, kann der
Benutzer dennoch Transaktionen aus mehreren Anweisungen
ausführen, wenn er sie mit einem expliziten START
TRANSACTION
oder BEGIN
einleitet
und mit COMMIT
oder
ROLLBACK
beendet.
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.