sql >> データベース >  >> RDS >> Mysql

オンラインホテル予約で競合状態を防ぐ方法

    1つの解決策は、データベースのテーブルに2つの列を追加することです。 1つの列は、セッションIDまたはユーザーID、あるいは部屋に提供されているユーザーのいずれかです。 2番目の列は、そのオファーの有効期限が切れる時期を示すタイムスタンプです。

    次に、アプリで、保留列にタイムスタンプの有効期限が切れている部屋のみを表示します。 (最初のタイムスタンプを0に設定して、有効期限が切れた状態で開始するようにします。)部屋が選択されたら、列をもう一度確認します。有効期限が切れていないタイムスタンプがある場合、ユーザーには「申し訳ありませんが、遅すぎました」というメッセージが表示されます。それ以外の場合は、15分間など、そこにタイムスタンプを付けて続行します。

    これは、旅行サイトやチケット購入サイトでよく見られます。「これらの座席はさらに14分間保持されます。それまでに取引を完了してください。そうしないと、何とか何とか何とかリリースされます。」



    1. SQL Server 2016:クエリ結果をCSVファイルに保存

    2. WHMのデータベースのみのバックアップ

    3. SQLの大文字と小文字を区別する文字列の比較

    4. カンマ区切りの結果セットを使用したSQLServerサブクエリ