Mysql
 sql >> Database >  >> RDS >> Mysql

Assicurati che il valore dell'intervallo non si sovrapponga agli intervalli esistenti

Creerei un array con tutti i valori nell'intervallo [min,max], quindi intersecherei tutti gli intervalli esistenti:

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

Questo genererà un'eccezione sul primo intervallo già esistente che coincide con quello nuovo.