私は新しいMySQLユーザーです。私はInnoDBデータベースシステムを作成します。InnoDBテーブルの行をロックする方法は?
私の場合、更新用の選択が使用されている場合、私はロック行が必要です。しかし、多くの検索を行ったとしても、この行が1人のユーザーによって読み込まれた場合、すべてのユーザーの行をロックする方法を理解できません。
私はPHPを使用してmySQLデータベースに接続します。
私はそれを解決する手伝いができますか?
私は新しいMySQLユーザーです。私はInnoDBデータベースシステムを作成します。InnoDBテーブルの行をロックする方法は?
私の場合、更新用の選択が使用されている場合、私はロック行が必要です。しかし、多くの検索を行ったとしても、この行が1人のユーザーによって読み込まれた場合、すべてのユーザーの行をロックする方法を理解できません。
私はPHPを使用してmySQLデータベースに接続します。
私はそれを解決する手伝いができますか?
select col1, col2 from table1 where col3='test' for update
おかげであなたは私のプロジェクトを保存しましたが、plzは私の側から他の人たちのために詳しく説明しようとしています –
MySQLは自動的に行ロックを行います。
自分で行をロックする必要はありません。
しかし、これを主張する場合は、select ... for update
を使用できます。
参照:http://dev.mysql.com/doc/refman/5.0/en/innodb-locking-reads.html
SELECT counter_field FROM child_codes FOR UPDATE;
UPDATE child_codes SET counter_field = counter_field + 1;
は、なぜあなたは、テーブル内の行をロックする必要がありますか?あなたは[XY問題](http://meta.stackexchange.com/q/66377/164291)に陥っていないと確信していますか? –