ひろです。
こんばんは。かとうです。
勘違いされているようですが、私はmysqlコマンド上でのお話をしています。
On 12/08/27 20:28, ひろ wrote:
> 2ではコミットしていますので、3でその結果が見れるものと思っていたのですが
> 見れたり見れなかったりしたので質問させて頂きました。
> 同じ操作をした時に、常に同じ結果になるなら、それなりに納得もできるのですが、
> 何らかのタイミング?で動作が変わってしまうため困っておりました。
>
> 2は確かにコミットしている(再ログインで最新の結果が見れるので間違いないはず)のですが、
> なんで見れたり見れなかったりするのか不明です。
*例1
C1. mysqlコマンドでログイン
C2. select文発行
C3. select文発行
C4. ログアウト
例1では、C2.からC4.までが1トランザクションになっており、分離レベル
がREPEATABLE READの場合、C3.ではC2.より前にcommitされたデータが読ま
れています(C2.とC3.での結果が同一となる)。C2.〜C3.の間にcommitされ
たデータを読みたい場合は
*例2
C1. mysqlコマンドでログイン
C2. select文発行
C3. commit/rollback
C4. select文発行
C5. ログアウト
のように、mysqlコマンド上でもトランザクション終了を明示する必要があ
ります。例2の場合、C2.〜C3.、C4.〜C5.、の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