SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
{ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
This statement sets the transaction isolation level for the next transaction, globally, or for the current session.
The default behavior of SET TRANSACTION is to
set the isolation level for the next (not yet started)
transaction. If you use the GLOBAL keyword,
the statement sets the default transaction level globally for
all new connections created from that point on. Existing
connections are unaffected. You need the
SUPER privilege to do this. Using the
SESSION keyword sets the default transaction
level for all future transactions performed on the current
connection.
For descriptions of each InnoDB transaction
isolation level, see
Section 14.5.10.3, “InnoDB and TRANSACTION ISOLATION
LEVEL”.
InnoDB supports each of these levels in MySQL
5.1. The default level is REPEATABLE
READ.
In MySQL 5.1, if the READ
COMMITTED isolation level is used or the
innodb_locks_unsafe_for_binlog system
variable is enabled, there is no InnoDB gap
locking except in constraint checking. Also, record locks for
non-matching rows are released after MySQL has evaluated the
WHERE condition.
To set the initial default global isolation level for
mysqld, use the
--transaction-isolation option. See
Section 5.2.2, “Command Options”.

User Comments
Add your own comment.