sql >> Base de Datos >  >> RDS >> Mysql

Asegúrese de que el valor del rango no se superponga con los rangos existentes

Crearía una matriz con todos los valores en el rango [min, max], luego haría una intersección con todos los rangos existentes:

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

Esto generará una excepción en el primer rango ya existente que coincida con el nuevo.