私はPHP/MySQLを使用しており、クエリを実行できることに基づいています。一致する結果がある場合は失敗し、一致する結果がない場合は挿入します。
さて、これを試してみてください。ここで:date:
追加するエントリの日付であり、:start-time:
および:finish-time:
それぞれ開始時間と終了時間です。
SELECT EXISTS (
SELECT
1
FROM
TableName
WHERE
`date` = :date: AND
( :start-time: BETWEEN startTime AND finishTime OR
:finish-time: BETWEEN startTime AND finishTime OR
startTime BETWEEN :start-time: AND :finish-time:
)
) AS `Clash`