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