COMMIT
COMMIT (někde též GO) je v prostředí databází příkaz jazyka SQL, který ukončí databázovou transakci s uložením výsledků modifikací datových objektů během transakce a zplatněním (zviditelněním) změn pro ostatní uživatele databáze.
V rámci transakčního zpracování dat jsou veškeré provedené změny v rámci jedné transakce drženy jako neplatné až do chvíle, kdy je tato transakce ukončena jejich zplatněním – příkaz COMMIT nebo stornována příkazem ROLLBACK (v druhém případě se modifikované databázové objekty vrací do stavu, ve kterém byly před začátkem transakce).
V MySQL
U databází MySQL se u tabulek rozlišuje z několika úložišť dat (např. MyISAM), z nichž jen některé podporují transakce (např. InnoDB). Současně existuje proměnná prostředí AUTOCOMMIT
, která buď – pro hodnotu 1 – vykoná beztransakčně každý vyžádaný dotaz ihned poté, co byl odeslán do databázového stroje; nebo – pro hodnotu 0 – registruje zaslané dotazy a po odeslání příkazu COMMIT
nebo ROLLBACK
buď vykoná transakci jako celek (nebo jako celek selže) nebo transakci zruší vše vrátí do původního stavu (po posledním voláním COMMIT
nebo ROLLBACK
).
Proměnná prostředí AUTOCOMMIT
se dá nastavit příkazem:
SET AUTOCOMMIT = [0|1];