Ik gebruik PHP/MySQL en ga ervan uit dat een zoekopdracht kan worden uitgevoerd en als er overeenkomende resultaten zijn, mislukken, als er geen overeenkomende resultaten zijn, voeg dan in.
Nou, probeer dit eens. Hier :date:
is de datum van het item dat u gaat toevoegen, en :start-time:
en :finish-time:
zijn respectievelijk de start- en eindtijden.
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`