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