Mysql
 sql >> Base de données >  >> RDS >> Mysql

Colonne MySQL numérique à contrainte de plage :comment ?

Si vous utilisez InnoDB comme moteur monsieur, vous pouvez vérifier ceci dehors. Comme vous pouvez le voir, vous pouvez créer une nouvelle table qui contient vos valeurs limites et une référence à votre champ (en tant que clé étrangère), il s'agit maintenant d'appliquer votre contrainte avec l'intégrité référentielle.

MISE À JOUR

essayez ceci :

   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);

Mais vous devez également modifier le spectrumdata longueur d'onde à NOT NULL à DEFAUT =0 ; pour gérer les valeurs nulles.