Jeg bruger PHP/MySQL og går ud fra, at en forespørgsel kan køres, og hvis der 'er' matchende resultater, så mislykkes, hvis der 'ikke' matchende resultater, så indsæt.
Nå, prøv dette. Her :date:
er datoen for den post, du vil tilføje, og :start-time:
og :finish-time:
er dens henholdsvis start- og sluttidspunkt.
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`