Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Numerische MySQL-Spalte mit Bereichseinschränkung:wie?

Wenn Sie InnoDB als Engine verwenden, Sir, können Sie überprüfen Sie dies aus. Wie Sie sehen können, können Sie eine neue Tabelle erstellen, die Ihre Grenzwerte und Verweise auf Ihr Feld (als Fremdschlüssel) enthält, die nun Ihre Einschränkung mit referenzieller Integrität erzwingen.

AKTUALISIEREN

versuchen Sie Folgendes:

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

Aber Sie müssen auch die spectrumdata ändern Wellenlänge auf NOT NULL auf DEFAULT =0; um mit Nullwerten umzugehen.