sql >> Database >  >> RDS >> Mysql

Zorg ervoor dat de bereikwaarde niet overlapt met bestaande bereiken

Ik zou een array maken met alle waarden in het [min,max]-bereik en vervolgens een snijpunt maken met alle bestaande bereiken:

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

Dit zorgt voor een uitzondering op het eerste reeds bestaande bereik dat samenvalt met het nieuwe.



  1. Ophalen/opslaan van alle gerelateerde acteurs in Freebase

  2. Zoek het verschil tussen tijdstempels in seconden in PostgreSQL met JOOQ

  3. Speel 2.4 - Slick 3.0.0 - VERWIJDEREN werkt niet

  4. SQL FLOAT:3 punten die u zullen helpen rare rekenfouten te vermijden