Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL überlappende Daten, keine Konflikte

Ich verwende PHP/MySQL und gehe davon aus, dass eine Abfrage ausgeführt werden kann und wenn es passende Ergebnisse gibt, fehlschlagen, wenn es keine passenden Ergebnisse gibt, dann einfügen.

Probieren Sie es aus. Hier :date: ist das Datum des Eintrags, den Sie hinzufügen werden, und :start-time: und :finish-time: sind die Start- und Endzeiten.

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`