Kategorien:

Transaktionen

COMMIT

Führt das Commit für eine offene Transaktion in der aktuellen Sitzung aus.

Siehe auch:

BEGIN, ROLLBACK, SHOW TRANSACTIONS

Syntax

COMMIT

Nutzungshinweise

  • If two COMMIT statements in a row are executed (within the same scope), the second one is ignored. For example, in the following code, the second COMMIT has no effect; there is no open transaction to commit.

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

    Die Regeln können komplexer sein, wenn Sie autonome Transaktionen und gespeicherte Prozeduren mit Geltungsbereich verwenden.

Beispiele

Beginnen Sie eine Transaktion, fügen Sie einige Werte in eine Tabelle ein und schließen Sie die Transaktion dann mit einem Commit ab:

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