Bei einer Commit-Operation werden alle während einer Transaktion vorgenommenen Änderungen festgeschrieben, sodass eine Rollback-Operation danach nicht mehr möglich ist. Je nachdem, welche Transaktionsisolation verwendet wurde, werden die Änderungen dann zum ersten Mal für andere Threads sichtbar.
        Zur Unterstützung von COMMIT benötigen Sie
        eine Funktion, die wie folgt definiert ist:
      
int (*commit)(THD *thd, bool all);
        Der Name dieser Funktion wird dann im
        commit-Eintrag (dem 12.) des
        Handlerton
        aufgeführt.
      
        Der Parameter THD zeigt an, welche
        Transaktion festgeschrieben werden soll, und bool
        all legt fest, ob dies ein kompletter Commit ist oder
        nur das Ende einer zu einer Transaktion gehörenden Anweisung.
      
        Die Implementierungsdetails von COMMIT sind
        von Engine zu Engine unterschiedlich. Beispiele finden Sie in
        ha_innodb.cc and
        ha_berkeley.cc.
      
        Läuft der Server im Autocommit-Modus, so müsste die
        Speicher-Engine automatisch alle nur-lesenden Anweisungen wie
        beispielsweise SELECT festschreiben.
      
        Das "Autocommitten" in einer Speicher-Engine funktioniert durch
        Zählen von Sperren. Jeder Aufruf von
        external_lock() inkrementiert den Zähler
        und jeder Aufruf von external_lock() mit
        dem Argument F_UNLCK dekrementiert ihn.
        Fällt die Anzahl der Sperren auf null, wird ein Commit
        ausgelöst.
      
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.

