Alle folgenden Anweisungen (und ggf. auch ihre Synonyme) beenden
eine Transaktion implizit – so als ob Sie vor Ausführung der
Anweisung eine COMMIT
-Anweisung abgesetzt
hätten:
ALTER FUNCTION
, ALTER
PROCEDURE
, ALTER TABLE
,
BEGIN
, CREATE
DATABASE
, CREATE FUNCTION
,
CREATE INDEX
, CREATE
PROCEDURE
, CREATE TABLE
,
DROP DATABASE
, DROP
FUNCTION
, DROP INDEX
,
DROP PROCEDURE
, DROP
TABLE
, LOAD MASTER DATA
,
LOCK TABLES
, RENAME
TABLE
, SET AUTOCOMMIT=1
,
START TRANSACTION
, TRUNCATE
TABLE
, UNLOCK TABLES
.
UNLOCK TABLES
übergibt eine Transaktion
nur dann, wenn zum betreffenden Zeitpunkt Tabellen gesperrt
sind.
Die Anweisung CREATE TABLE
in
InnoDB
wird als einzelne Transaktion
verarbeitet. Das bedeutet, dass eine
ROLLBACK
-Anweisung seitens des Benutzers
die CREATE TABLE
-Anweisungen, die der
Benutzer während der Transaktion abgesetzt hat, nicht
rückgängig machen kann.
Transaktionen können nicht verschachtelt werden. Dies ist eine
Folge des impliziten COMMIT
, das für jede
laufende Transaktion ausgeführt wird, wenn Sie eine
START TRANSACTION
-Anweisung (oder ein
entsprechendes Synonym) absetzen.
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.