Categories:

Transactions

COMMIT

Commits an open transaction in the current session.

See also:

BEGIN , ROLLBACK , SHOW TRANSACTIONS

Syntax

COMMIT

Usage Notes

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

    The rules can be more complex if you are using autonomous scoped transactions and stored procedures .

Examples

Begin a transaction, insert some values into a table, and then complete the transaction by committing it:

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