Overriding Default Transaction Behavior
For a particular transaction, you can override one or more default transaction behaviors by executing the START TRANSACTION
statement (see START TRANSACTION
). The START TRANSACTION
statement starts an explicit transaction ( see About Implicit and Explicit Transactions), which always suspends autocommit behavior. For example, the following statement starts an explicit transaction, which suspends autocommit behavior, uses the default read-write transaction behavior, and uses the default transaction isolation.
START TRANSACTION;
To override the default read-write transaction behavior, execute the following statement:
START TRANSACTION READ ONLY;
This statement starts an explicit transaction, which suspends autocommit behavior, and starts a read-only transaction that uses the default transaction isolation level.
The default transaction isolation level can be explicitly overwritten for a transaction by specifying the desired level in the START TRANSACTION
statement. The following statement starts an explicit transaction, which suspends autocommit behavior, and starts a read-write transaction that uses the READ COMMITTED
transaction isolation level:
START TRANSACTION ISOLATION LEVEL READ COMMITTED;
The following statement starts an explicit transaction, which suspends autocommit behavior, and starts a read-only transaction that uses the READ COMMITTED
transaction isolation level:
START TRANSACTION READ ONLY ISOLATION LEVEL READ COMMITTED;
When using explicit transactions, you must specify COMMIT
or ROLLBACK
to end the transaction (see About Implicit and Explicit Transactions).