web-dev-qa-db-ja.com

MySQLで接続の分離レベルを変更できないのはなぜですか?

MySQLの分離レベルをテスト環境で少し実験しようとしています。
私は次のことを行います:

mysql> set @@session.tx_isolation='READ-UNCOMMITED';
ERROR 1231 (42000): Variable 'tx_isolation' can't be set to the value of 'READ-UNCOMMITED'

これも失敗します:

mysql> update information_schema.session_variables set variable_value='READ-UNCOMMITED' where variable_name='TX_ISOLATION';
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'information_schema' 

ここで何が悪いのですか?私は根です。したがって、それは権利の問題であってはなりません。

3
Cratylus

あなたは試す必要があります

SET tx_isolation = 'READ-UNCOMMITTED';

または

SET SESSION tx_isolation = 'READ-UNCOMMITTED';

トランザクションの開始時に宣言する

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

試してみる !!!

警告

READ-UNCOMMITEDのスペルを間違えた(Tがない)ことに注意してください。 READ-UNCOMMITTEDである必要があります

INFORMATION_SCHEMAデータベースはメモリ内の読み取り専用データベースであるため、tx_isolationを変更することはできません。

6
RolandoMySQLDBA