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

Colonna di MySQL numerico con vincolo di intervallo:come?

Se stai usando InnoDB come motore, signore, puoi controlla questo fuori. Come puoi vedere, puoi creare una nuova tabella che contenga i tuoi valori limite e il riferimento al tuo campo (come chiave esterna) per poi applicare il tuo vincolo con integrità referenziale.

AGGIORNAMENTO

prova questo:

   CREATE TABLE allowed_val(
      limiting_val DOUBLE NOT NULL,
      PRIMARY KEY (limiting_val )
    ) ENGINE = InnoDB;

INSERT INTO allowed_val( limiting_val) VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),..(1000);

ALTER TABLE spectrumdata
ADD FOREIGN KEY (wavelength) REFERENCES allowed_val(limiting_val);

Ma devi anche modificare i spectrumdata lunghezza d'onda a NOT NULL a PREDEFINITO =0; per gestire valori nulli.