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