SAVEPOINTidentifierROLLBACK [WORK] TO SAVEPOINTidentifierRELEASE SAVEPOINTidentifier
        InnoDB unterstützt die SQL-Anweisungen
        SAVEPOINT, ROLLBACK TO
        SAVEPOINT, RELEASE SAVEPOINT und
        das optionale Schlüsselwort WORK für
        ROLLBACK.
      
        Die SAVEPOINT-Anweisung setzt einen benannten
        Transaktionsspeicherpunkt mit dem Namen
        identifier. Hat die laufende
        Transaktion einen Speicherpunkt gleichen Namens, dann wird der
        alte Speicherpunkt gelöscht und ein neuer gesetzt.
      
        Die Anweisung ROLLBACK TO SAVEPOINT macht
        eine Transaktion bis zum benannten Speicherpunkt rückgängig.
        Änderungen, die die aktuelle Transaktion an Datensätzen nach
        dem Speicherpunkt vorgenommen hat, werden im Rollback
        rückgängig gemacht; allerdings hebt InnoDB
        Datensatzsperren, die nach dem Speicherpunkt im Speicher
        abgelegt wurden, nicht auf. (Beachten Sie,
        dass bei einem neu eingefügten Datensatz die Sperrinformation
        in dem im Datensatz gespeicherten Transaktionsbezeichner
        enthalten ist, d. h., die Sperre wird nicht separat im Speicher
        abgelegt. In diesem Fall wird die Datensatzsperre beim
        Rückgängigmachen aufgehoben.) Speicherpunkte, die zeitlich
        nach dem genannten Speicherpunkt liegen, werden gelöscht.
      
        Wenn die ROLLBACK TO SAVEPOINT-Anweisung den
        folgenden Fehler zurückgibt, heißt das, dass es keinen
        Speicherpunkt des angegebenen Namens gibt:
      
ERROR 1181: Got error 153 during ROLLBACK
        Die Anweisung RELEASE SAVEPOINT entfernt den
        genannten Speicherpunkt aus der Menge der Speicherpunkte für
        die laufende Transaktion. Es findet weder eine Übergabe noch
        ein Rollback statt. Existiert der Speicherpunkt nicht, dann
        tritt ein Fehler auf.
      
        Alle Speicherpunkte der aktuellen Transaktion werden gelöscht,
        wenn Sie eine COMMIT- oder
        ROLLBACK-Anweisung absetzen, die keinen
        Speicherpunkt benennt.
      
Seit MySQL 5.0.17 wird eine neue Speicherpunktstufe erstellt, wenn eine gespeicherte Funktion aufgerufen oder ein Trigger aktiviert wird. Die Speicherpunkte der vorherigen Stufen sind dann nicht mehr verfügbar, damit Konflikte mit Speicherpunkten der neuen Stufe vermieden werden. Wenn die Funktion oder der Trigger beendet wird, werden alle hierdurch erstellten Speicherpunkte gelöscht und die vorherige Speicherpunktstufe wird wiederhergestellt.
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.

