mysql:15822
From: yoku ts <yoku ts <yoku0825@xxxxxxxxxx>>
Date: Mon, 27 Aug 2012 18:31:09 +0900
Subject: [mysql 15822] Re: mysqlコマンドで最新のデータを参照したい
はじめまして、yokuといいます。 > 現象としてはmysqlにログインした状態でプログラムから作成・更新したデータの最新状態が見れる時と見れない時があるというものです。 トランザクションの分離レベルがREPEATABLE-READになっている為だと思います。 InnoDBのデフォルトのトランザクション分離レベルであるREPEATABLE-READは、 そのトランザクションが開始した時点でCOMMITされていたデータを読み、 トランザクション開始以後に(他のトランザクションから)COMMITされた更新は読み込みません。 トランザクション分離レベルをREAD-COMMITTEDに変更すると意図した動作になると思われます。 http://dev.mysql.com/doc/refman/5.1/ja/innodb-transaction-isolation.html ts. yoku 2012年8月27日 11:52 ひろ <hiro@xxxxxxxxxx>: > お世話になります。 > ひろと申します。 > > データベースの設定で自動コミットをオフにしているせいなのか、mysqlコマンドの挙動がおかしい時があり困っていますのでアドバイスをお願いします。 > > 現象としてはmysqlにログインした状態でプログラムから作成・更新したデータの最新状態が見れる時と見れない時があるというものです。 > > コミットされなければ見れないというのは理解していますのでデータを作成・更新するプログラムでは当然コミットを発行しています。 > プログラムは全く異なるプロジェクトでrubyとjavaで作成していますが、どちらも同じような現象が見られますのでmysqlの設定に問題があるのではないかと考えています。 > > > 1.mysqlコマンドでログインし、データを確認する。 > 2.プログラム等でデータを作成・更新する。 > 3.データを確認する。(1の時と同じselect文。更新されている時とされていない時がある) > 4.ログオフする > 5.再度mysqlコマンドでログインし、データを確認する。(2のデータが反映される) > > 上記で3の時に2の結果を見るにはどうしたら良いのでしょうか? > > mysqlのバージョンは以下の通りです。 > # mysql --version > mysql Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (x86_64) using > readline 5.1 > > > よろしくお願いします。 >
@ 15820 2012-08-27 11:52 [ひろ <hiro@xxxxxxxxx] mysqlコマンドで最新のデータを参照したい -> 15822 2012-08-27 18:31 ┗[yoku ts <yoku0825@xx] @ 15823 2012-08-27 19:39 ┗[ひろ <hiro@xxxxxxxxx] 15824 2012-08-27 20:20 ┣[Tomohiro 'Tomo-p' KA] @ 15825 2012-08-27 20:28 ┃┗[ひろ <hiro@xxxxxxxxx] 15826 2012-08-27 20:49 ┃ ┗[Tomohiro 'Tomo-p' KA] @ 15827 2012-08-28 00:31 ┃ ┗[ひろ <hiro@xxxxxxxxx] 15828 2012-08-28 01:37 ┃ ┗[Tomohiro 'Tomo-p' KA] @ 15829 2012-08-28 10:13 ┃ ┗[ひろ <hiro@xxxxxxxxx] @ 15830 2012-08-28 11:11 ┃ ┗["Mr. Gimmick" <midri] @ 15831 2012-08-28 11:28 ┃ ┗[ひろ <hiro@xxxxxxxxx] 15832 2012-08-28 21:59 ┗[とみたまさひろ <tomm] @ 15833 2012-08-29 10:59 ┗[ひろ <hiro@xxxxxxxxx] 15835 2012-08-30 09:54 ┗[yoku ts <yoku0825@xx] @ 15836 2012-08-30 11:14 ┗[ひろ <hiro@xxxxxxxxx]