0

スケジューリングに使用される内部 PHP Web アプリがあります。多くの場合、複数のユーザーが同じ時間枠に予約を入れようとしますが、利用可能な時間ごとに予約できる数には厳しい制限があります。

PHP を使用して、予約前に利用可能なスロットがあることを確認しましたが、PHP がテーブルをチェックしてから挿入するまでの間には、まだオーバーブッキングが発生する可能性がある十分な時間があります。

解決策は、挿入前にテーブルをチェックするMySQLトリガーだと思います。問題は、挿入しようとしているレコードと同じ "schedule_id" と "schedule_user_date" を持つレコードの数を MySQL でカウントできるようにする必要があることです (これは、そのタイム スロットに既に存在する予定の数になります)。

これはクライアントごとに変わる可能性があるため、どういうわけかトリガーに最大タイムスロットが何であるかを知らせる必要があります。これは私が立ち往生している場所です。

MySQL トリガー以外の提案があれば、それについても聞きたいです。

4

0 に答える 0