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

Beschränken Sie den Wert eines MySQL-Datentyps auf einen bestimmten Bereich (vorzugsweise nicht ENUM)

Sie können eine Tabelle mit zulässigen Stimmenwerten erstellen und einen Fremdschlüssel in Ihre Stimmentabelle einfügen. Wenn Sie also versuchen, eine Stimme mit einem anderen user_vote-Wert einzufügen, als in Ihrer Allowed_votes-Tabelle vorhanden ist, erhalten Sie einen Einschränkungsfehler:

CREATE TABLE allowed_votes (
  vote_rank TINYINT UNSIGNED NOT NULL,
  PRIMARY KEY (vote_rank)
) ENGINE = InnoDB;

INSERT INTO allowed_votes( vote_rank ) VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);

ALTER TABLE votes
ADD FOREIGN KEY (user_vote) REFERENCES allowed_votes (vote_rank);