私は、jQueryを使用してPHPファイルに投稿するオフィススケジューリングプログラムを作成しました。このプログラムは、pgSQLデータベースに予定を挿入します。これはまだ起こっていませんが、私は将来この問題を予見できます - 2人のオフィスワーカーが同時に同じスロットに予定を立てようとすると、競合状態が発生し、1組の顧客データが失われます。私はログからそれを掘る必要があります。私はサーバー接続を制御する何らかの種類のゲートキーパープログラムを作成する必要がある場合や、mutex/lock/semaphoreがjavascript/php /と一緒に使用できる場合、データベースに設定できるフラグがあるかどうか疑問に思っていました。 sqlを使用して、この競合状態の発生を防ぎます。Ajax/JQueryデータベースへのアクセス/ mutex
2
A
答えて
3
データベースフラグを使用してロックすることもできます。まれにしか発生しないため、衝突を検出することがより効果的です。
問題を検出するには、最後に更新された時刻を含むデータベースからタイムスタンプを保存します。これをフォームとともに送信し、レコードを更新する前にタイムスタンプを比較してください。タイムスタンプが変更されている場合は、ユーザーにすべてのデータを提示し、何をしたいか尋ねます。これにより、2番目の保存ユーザーが以前に保存したデータに基づいて変更内容を変更することができます。
この問題を解決するには他にも方法がありますが、適切な解決方法は特定の問題の性質によって異なります。
関連する問題
- 1. データベースへのアクセス
- 2. データベースへのアクセスC#
- 3. sqlite3データベースへのアクセス
- 4. CakePHPデータベースへのアクセス
- 5. データベースへのアクセス先
- 6. へのアクセスSQLデータベース
- 7. mscorlib.dllのmutexクラスにアクセス
- 8. リモートSQLデータベースへのAndroidアクセス
- 9. ASP.NET MVCデータベースへのアクセス
- 10. リモートSQL Serverデータベースへのアクセス
- 11. Android sqliteデータベースへのアクセス
- 12. CreateUserWizardデータベースへのアクセスAsp.Net
- 13. mutexとディスクのアクセスをロックする
- 14. 別のサーバーからのデータベースへのアクセス
- 15. Facebookの国のデータベースへのアクセス方法
- 16. Symfony 2のリスナーのデータベースへのアクセス
- 17. データベースへのアクセスの再開性
- 18. モバイルアプリケーションでのWordpressデータベースへのアクセス
- 19. CakePHP - bootstrap.php経由のデータベースへのアクセス
- 20. Wordpressプラグインの外部データベースへのアクセス
- 21. モバイルWebアプリケーションのデータベースへのアクセス
- 22. クラウドアプリケーションからのデータベースへのアクセス
- 23. アプリケーションからのデータベースへのアクセス
- 24. Webアプリケーションでのデータベースへの同時アクセス
- 25. C#からOracleデータベースへのアクセス
- 26. CocoaアプリケーションからSQLデータベースへのアクセス
- 27. javascriptゲームによるSQLデータベースへのアクセス
- 28. SQLIteデータベースを介したオブジェクトへのアクセス
- 29. データベースへのアクセスにアドバイスが必要
- 30. 同期対非同期データベースへのアクセス
タイムスタンプのアイデアをありがとう!現在のカレンダーの上に簡単に実装できます。病気になったら、それをどのように更新するか試してみてください。 – busbina