2011-12-26 5 views
1

私はJavaベースのWebアプリケーションでmysqlを使用しています。 特定の行をロックして、ユーザーが行を読み取ることはできますが、更新および削除はできません。 コードが欲しいのにまだ行がロックされています。つまり、コード自体が行をロック解除することを意味します。私のコードが必要なときにmysql行をロックしてロックを実現する

このように特定の行をロックすることは可能ですか?

+0

http://dev.mysql.com/doc/refman/5.0/en/internal-locking.html –

+0

http://stackoverflow.com/questions/1726129/mysql-table-locking-vs-row-locking –

+0

トランザクションを使用すると、これは正確には起こりませんか? – Santosh

答えて

1

私はあなたのユースケースがわかりませんし、なぜプログラムで行を明示的にロックしたいのですか?一般的に、これはJDBC/Transaction APIを使用するときに起こります。あなたはtblAreas.AreaIDにインデックスを持っている場合は、@ Mithun Sasidharanすることにより、上記共有linkから@Keithランドールを引用

は、

」、そして任意のトランザクションが は(中WHERE tblAreas.AreaIDが含まれていることを... )「

この意志一般使用してOptimistic Lockingをそれらの エントリのインデックスをロックします。あなたが興味を持っているのはPessimistic lockingです。

MySQLでは、選択した行をロックするSELECT FOR UPDATEステートメントを使用する方法があります。使用方法については、respective documentationを参照してください。

関連する問題