See Section 8.11.1, “Internal Locking Methods” , for more information on locking policy. 

## 13.3.7 SET TRANSACTION Statement 

SET [GLOBAL | SESSION] TRANSACTION transaction_characteristic  [, transaction_characteristic ] ... transaction_characteristic : { ISOLATION LEVEL level | access_mode } level : { REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED | SERIALIZABLE } access_mode : { READ WRITE | READ ONLY } 

This statement specifies transaction characteristics. It takes a list of one or more characteristic values separated by commas. Each characteristic value sets the transaction isolation level or access mode. The isolation level is used for operations on InnoDB  tables. The access mode specifies whether transactions operate in read/write or read-only mode. 

In addition, SET TRANSACTION  can include an optional GLOBAL  or SESSION  keyword to indicate the scope of the statement. 

## Transaction Isolation Levels 

•Transaction Isolation Levels 

•Transaction Access Mode 

•Transaction Characteristic Scope 

To set the transaction isolation level, use an ISOLATION LEVEL level  clause. It is not permitted to specify multiple ISOLATION LEVEL  clauses in the same SET TRANSACTION  statement. 

The default isolation level is REPEATABLE READ . Other permitted values are READ COMMITTED , READ UNCOMMITTED , and SERIALIZABLE . For information about these isolation levels, see Section 15.7.2.1, “Transaction Isolation Levels” . 

## Transaction Access Mode 

To set the transaction access mode, use a READ WRITE  or READ ONLY  clause. It is not permitted to specify multiple access-mode clauses in the same SET TRANSACTION  statement. 

By default, a transaction takes place in read/write mode, with both reads and writes permitted to tables used in the transaction. This mode may be specified explicitly using SET TRANSACTION  with an access mode of READ WRITE . 

If the transaction access mode is set to READ ONLY , changes to tables are prohibited. This may enable storage engines to make performance improvements that are possible when writes are not permitted. 

