- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MYSQL5.0.45のバグでしょうか?)
MYSQL5.0.45のバグでしょうか?
このQ&Aのポイント
- MYSQLバージョン5.0.45で、AUTOCOMMIT機能を解除してレコードを挿入すると、取得できない不具合が発生しています。
- バージョン4.0.XXでは同様の操作でも取得できたため、5.0.45での不具合の可能性が考えられます。
- 解決策として、空コミットなどの対策を行うことで取得できるようになる場合があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
結論から言えば、トランザクションが正しく動いているだけなので、仕様です。 3.でオートコミットをしない設定に変えた時点から暗黙的にトランザクションが始まっています。なので、トランザクションの開始時点の状態がクライアントAには見えます。トランザクション開始後の変更はコミット/ロールバックを行わない限りクライアントAから見ることができません。(トランザクションレベルをデフォルトから変えない限り) ただし、これはInnoDBなどのトランザクショナルなエンジンを使っている場合です。MyISAMなどの非トランザクショナルなエンジンの場合はこのような動作はしません。WindowsやLinuxにインストーラー(exe/rpmなど)を使って入れた場合、デフォルトのエンジンがInnoDBになる場合がある(通常はMyISAM)ので、バージョンによる違いはデフォルトのエンジンの違いだと思います。
お礼
遅くなりましたが、助かりました。 ありがとうございました。