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.