MySQL の日付範囲に関する多くのスレッドを見てきましたが、私が探しているものに対する答えをまだ見つけることができないようです。
日付 - 開始時刻 - 終了時刻の 3 つの列を持つ MySQL テーブルがあります。日付は MySQL の「日付」タイプのフィールドで、開始時刻と終了時刻は両方とも「時刻」タイプのフィールドです。
たとえば、データベースに次のようなエントリがあるとします。このセッションを 1 と呼びましょう。
date = 2011-06-30, startTime = 09:00:00, finishTime = 11:00:00
別のセッションを追加する場合は、既存のセッションと競合しないようにする必要があります。したがって、セッション 1 の開始時間と終了時間の間にあるため、以下は失敗します。
date = 2011-06-30, startTime = 10:00:00, finishTime = 12:00:00
したがって、レコードは既存のセッションの「後」または「前」にのみ挿入できます。
私はPHP/MySQLを使用しており、クエリを実行できることに基づいており、一致する結果が「ある」場合は失敗し、一致する結果が「ない」場合は挿入します。
前もって感謝します。