MySQL のオプティミスティック ロックについて
オプティミスティック ロックは、複数のユーザーが同じデータを更新しようとしたときに競合を防ぐのに役立つプログラミング手法です。データベース。 MySQL はオプティミスティック ロックをネイティブにサポートしていませんが、標準 SQL ステートメントを使用して実装できます。
オプティミスティック ロックの実装
通常、オプティミスティック ロックは既知のメカニズムを通じて実現されます。バージョンチェックとして。これには、データが最初に取得されてから別のユーザーによって変更されているかどうかを確認することが含まれます。このチェックは、更新を適用する前に実行され、データの最新バージョンが変更されていることを確認します。
オプティミスティック ロックを実装する手順
MySQL でオプティミスティック ロックを実装するにはの場合は、次の手順に従うことができます:
例
例は次のとおりです。 MySQL でのオプティミスティック ロックの実装方法:
<code class="sql"># Select data SELECT id, name, version FROM users WHERE id = 1; # Calculate updated values new_name = 'John Doe' new_version = version + 1 # Update data with version check UPDATE users SET name = @new_name, version = @new_version WHERE id = 1 AND version = @old_version; # Check affected rows SELECT ROW_COUNT() AS affected_rows; # Handle conflict IF affected_rows = 0 BEGIN -- Conflict occurred -- Handle the conflict here END; ELSE BEGIN -- Update successful -- Continue with the application logic END;</code>
バージョン チェックの代替案
バージョン チェックに加えて、オプティミスティック ロックを実装するには次のような代替案があります。
以上がMySQL でオプティミスティック ロックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。