私はJavaベースのWebアプリケーションでmysqlを使用しています。 特定の行をロックして、ユーザーが行を読み取ることはできますが、更新および削除はできません。 コードが欲しいのにまだ行がロックされています。つまり、コード自体が行をロック解除することを意味します。私のコードが必要なときにmysql行をロックしてロックを実現する
このように特定の行をロックすることは可能ですか?
私はJavaベースのWebアプリケーションでmysqlを使用しています。 特定の行をロックして、ユーザーが行を読み取ることはできますが、更新および削除はできません。 コードが欲しいのにまだ行がロックされています。つまり、コード自体が行をロック解除することを意味します。私のコードが必要なときにmysql行をロックしてロックを実現する
このように特定の行をロックすることは可能ですか?
私はあなたのユースケースがわかりませんし、なぜプログラムで行を明示的にロックしたいのですか?一般的に、これはJDBC/Transaction APIを使用するときに起こります。あなたはtblAreas.AreaIDにインデックスを持っている場合は、@ Mithun Sasidharanすることにより、上記共有linkから@Keithランドールを引用
は、
」、そして任意のトランザクションが は(中WHERE tblAreas.AreaIDが含まれていることを... )「
この意志一般使用してOptimistic Lockingをそれらの エントリのインデックスをロックします。あなたが興味を持っているのはPessimistic lockingです。
MySQLでは、選択した行をロックするSELECT FOR UPDATE
ステートメントを使用する方法があります。使用方法については、respective documentationを参照してください。
http://dev.mysql.com/doc/refman/5.0/en/internal-locking.html –
http://stackoverflow.com/questions/1726129/mysql-table-locking-vs-row-locking –
トランザクションを使用すると、これは正確には起こりませんか? – Santosh