Catégories :

Transactions

COMMIT

Effectue un commit d’une transaction ouverte dans la session en cours.

Voir aussi :

BEGIN , ROLLBACK , SHOW TRANSACTIONS , DESCRIBE TRANSACTION

Syntaxe

COMMIT [ WORK ]

Paramètres

WORK

Mot clé facultatif qui assure la compatibilité avec d’autres systèmes de bases de données.

Notes sur l’utilisation

  • Si deux instructions COMMIT à la suite sont exécutées (dans le même scope), la seconde est ignorée. Par exemple, dans le code suivant, le second COMMIT n’a aucun effet ; il n’y a pas de transaction ouverte à valider.

    begin;
    insert into table1 ...;
    commit;
    commit;  -- Ignored!
    

    Les règles peuvent être plus complexes si vous utilisez des transactions autonomes scopées et des procédures stockées .

Exemples

Commencer une transaction, insérer des valeurs dans une table, puis terminer la transaction en effectuant un commit :

SELECT COUNT(*) FROM A1;

----------+
 COUNT(*) |
----------+
 0        |
----------+

BEGIN NAME T3;

SELECT CURRENT_TRANSACTION();

-----------------------+
 CURRENT_TRANSACTION() |
-----------------------+
 1432071497832         |
-----------------------+

INSERT INTO A1 VALUES (1), (2);

-------------------------+
 number of rows inserted |
-------------------------+
 2                       |
-------------------------+

COMMIT;

SELECT CURRENT_TRANSACTION();

-----------------------+
 CURRENT_TRANSACTION() |
-----------------------+
 [NULL]                |
-----------------------+

SELECT LAST_TRANSACTION();

--------------------+
 LAST_TRANSACTION() |
--------------------+
 1432071497832      |
--------------------+

SELECT COUNT(*) FROM A1;

----------+
 COUNT(*) |
----------+
 2        |
----------+
Revenir au début