2012-02-08 13 views
0

私は、MySQLのInnoDBテーブルで動作します。 PHPスクリプトによるMySQLデータベースクエリ。 ユーザーが特定のテーブルのレコードを選択すると、これをロックして他のユーザーの読み取りプロセスのみを許可したいと思います。 だから私は、ユーザBは、レコードがロックされていることを知ってどのように同じレコードを選択し、ユーザAは、この操作を許可するか、レコードを更新しようとするとしようとすると、私の質問があるMySQLのInnoDBのロック行

SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE; 

を使用するようにしてください。

答えて

2

のInnoDB行ロックを支援するための

おかげでのみ取引中に一時的な使用のために意図されている(例えば、あなたが一時的に見たり、行を変更しようとしている他の誰を保持したい場合)。アプリケーションのユーザーがレコードを「ロック」できるようにするには、行ロックはこの目的には適していません。代わりに、アプリケーション・レベルで実行します。テーブル内に列を作成して、どのユーザーがレコードをロックしたかを表します。

関連する問題