SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
このステートメントは、次のトランザクションにグローバルに分離レベルを設定したり、現在のセッションに分離レベルを設定したりします。
SET TRANSACTION
のデフォルト動作は、次の(まだ始まっていない)トランザクションの分離レベルを設定する事です。もし
GLOBAL
キーワードを利用すると、そのステートメントはその時点以降に作成された全ての新しい接続に対して、デフォルトのトランザクション
レベルをグローバルに設定します。既存接続には影響はありません。これには
SUPER
権限が必要です。SESSION
キーワードの利用は、現在の接続上で今後行われる全てのトランザクションに対して、デフォルト
トランザクション レベルを設定します。
各 InnoDB
トランザクション分離レベルの説明に関しては、項13.5.10.3. 「InnoDB
と TRANSACTION ISOLATION
LEVEL
」
を参照してください。InnoDB
は
MySQL 5.1
内でこれらそれぞれのレベルをサポートします。デフォルト
レベルは REPEATABLE READ
です。
mysqld に冒頭のデフォルト
グローバル分離レベルを設定する為には、--transaction-isolation
オプションを利用してください。詳しくは
項4.2.2. 「コマンド オプション」 を参照してください。