Jag använder PHP/MySQL och utgår ifrån att en fråga kan köras och om det "finns" matchande resultat, misslyckas, om det inte finns matchande resultat, infoga.
Tja, prova det här. Här :date:
är datumet för posten du ska lägga till, och :start-time:
och :finish-time:
är dess start- respektive sluttid.
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`