ひろです。ご回答ありがとうございます。
> 分離レベルを戻しても、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