COMMIT

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

Voir aussi :

BEGIN , ROLLBACK , SHOW TRANSACTIONS , DESCRIBE TRANSACTION

Syntaxe

COMMIT [ WORK ]
Copy

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!
    
    Copy

    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 la validant :

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 |
+----------+
Copy