SET TRANSACTION 構文

SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
{ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }

このステートメントは、次のトランザクションにグローバルに分離レベルを設定したり、現在のセッションに分離レベルを設定したりします。

SET TRANSACTION のデフォルト動作は、次の(まだ始まっていない)トランザクションの分離レベルを設定する事です。もし GLOBAL キーワードを利用すると、そのステートメントはその時点以降に作成された全ての新しい接続に対して、デフォルトのトランザクション レベルをグローバルに設定します。既存接続には影響はありません。これには SUPER 権限が必要です。SESSION キーワードの利用は、現在の接続上で今後行われる全てのトランザクションに対して、デフォルト トランザクション レベルを設定します。

InnoDB トランザクション分離レベルの説明に関しては、項3. 「InnoDBTRANSACTION ISOLATION LEVEL」 を参照してください。InnoDB は MySQL 5.1 内でこれらそれぞれのレベルをサポートします。デフォルト レベルは REPEATABLE READ です。

mysqld に冒頭のデフォルト グローバル分離レベルを設定する為には、--transaction-isolation オプションを利用してください。詳しくは 項 「コマンド オプション」 を参照してください。