ひろです。
ご回答ありがとうございます。

> 分離レベルを戻しても、3.の前にcommitすると2.で書かれた内容が見られると
> 思います。

2ではコミットしていますので、3でその結果が見れるものと思っていたのですが
見れたり見れなかったりしたので質問させて頂きました。
同じ操作をした時に、常に同じ結果になるなら、それなりに納得もできるのですが、
何らかのタイミング?で動作が変わってしまうため困っておりました。

2は確かにコミットしている(再ログインで最新の結果が見れるので間違いないはず)のですが、
なんで見れたり見れなかったりするのか不明です。


よろしくお願いします。


2012年8月27日 20:20 Tomohiro 'Tomo-p' KATO <tomop@teamgedoh.net>:
 こんばんは。かとうです。

On 12/08/27 11:52, ひろ wrote:
> 1.mysqlコマンドでログインし、データを確認する。
> 2.プログラム等でデータを作成・更新する。
> 3.データを確認する。(1の時と同じselect文。更新されている時とされていない時がある)
> 4.ログオフする
> 5.再度mysqlコマンドでログインし、データを確認する。(2のデータが反映される)
>
> 上記で3の時に2の結果を見るにはどうしたら良いのでしょうか?

 ・トランザクション開始を明示していなければ最初のクエリ〜commit/rollback
  が1トランザクション
 ・select文も「最初のクエリ」の対象

  ということで、1.でselect文を発行した時点から4.までが1トランザクション
 になっており、最初のselect文発行以前にcommitされていた内容だけが読まれて
 いるのでしょう。

  分離レベルを戻しても、3.の前にcommitすると2.で書かれた内容が見られると
 思います。

--
    __________________________________________________
  _/_/  Tomohiro "Tomo-p" KATO  <tomop@teamgedoh.net>
 _/_/  Team Gedoh Network  http://www.teamgedoh.net/
_/_/  Key fingerprint = A6D8 3981 3575 9F00 EFC3  9C2B F03A 5383 9287 74D9