By default, DML operations (INSERT
, UPDATE
, DELETE
) are committed automatically as soon as they are executed. This is known as auto-commit mode. You can, however, disable auto-commit mode with the following method call on the Connection
object:
conn.setAutoCommit(false);
If you disable auto-commit mode, then you must manually commit or roll back changes with the appropriate method call on the Connection
object:
conn.commit( );
or:
conn.rollback( );
A COMMIT
or ROLLBACK
operation affects all DML statements executed since the last COMMIT
or ROLLBACK
.
Note that:
- If auto-commit mode is disabled and you close the connection without explicitly committing or rolling back your last changes, then an implicit
COMMIT
operation is executed.
- Any DDL operation, such as
CREATE
or ALTER
, always includes an implicit COMMIT
.
If auto-commit mode is disabled, this implicit COMMIT
will not only commit the DDL statement, but also any pending DML operations that had not yet been explicitly committed or rolled back.