2009-08-25 7 views
2

32ビットx86 Debian上でトランザクション分離レベルを守るためにMySQL 5.0.32を取得できないようです。MySQLトランザクションの分離レベルが壊れていますか?

私はmysqlコマンドラインクライアントでテスト最も単純な形に私の問題を低減しました:おそらく関連

-- On node writer: 
-- 

DROP TABLE test; 
CREATE TABLE test (
    name VARCHAR(255) 
); 

set autocommit=0; 
set transaction isolation level read committed; 
begin; 

-- On node reader: 
-- 

set autocommit=0; 
set transaction isolation level read committed; 
begin; 

-- On node writer: 
-- 

INSERT INTO test VALUES ('bob'); 

-- On node reader: 
-- 

SELECT * from test; 
-- Returns the row with bob in it!!! 

、私は行もロールバックした後に残ることに気付きました!

私の疑問は、自動コミットが実際に無効になっていないことです。そのトランザクション分離レベルは、このように効果的に無視されますか?

チャオ、 シェルドン。

答えて

4

テーブルはデフォルトでMyISAMに作成されているようです。

トランザクションはサポートされていません。

あなたが実行してもらえ、次の質問に対する

SELECT @@storage_engine 
+0

最も可能性の高い説明のようです。 – MarkR

0

申し訳ありませんが、あなたはusignのInnoDBテーブルであることを確認していますか?デフォルトのストレージエンジンをチェックする必要があります。

関連する問題