sql >> Databasteknik >  >> RDS >> Mysql

Se till att intervallvärdet inte överlappar befintliga intervall

Jag skulle skapa en array med alla värden i intervallet [min,max] och sedan göra en skärning med alla befintliga intervall:

$new_range = range($min, $max);
foreach ($current_ranges as $range) {
  if (count(array_intersect($new_range, range($range["min"], $range["max"])))) {
    throw new RangeException();
  }
}

Detta ger ett undantag för det första redan existerande intervallet som sammanfaller med det nya.



  1. Använd databas i en lagrad procedur

  2. PHP MYSQL Frågealgoritm Hjälp

  3. Java skriv in JDBC till Postgres ltree

  4. MySQL - Kan du hämta standardvärdet för en kolumn?