Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL chevauche des dates, aucune n'est en conflit

J'utilise PHP/MySQL et je pars du principe qu'une requête peut être exécutée et s'il y a des résultats correspondants, échouez, s'il n'y a pas de résultats correspondants, insérez-les.

Eh bien, essayez ceci. Ici :date: est la date de l'entrée que vous allez ajouter, et :start-time: et :finish-time: sont respectivement ses heures de début et de fin.

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`