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

Limita il valore di un tipo di dati MySQL a un intervallo specifico (preferibilmente non ENUM)

Puoi creare una tabella di valori di voto consentiti e aggiungere una chiave esterna nella tua tabella dei voti, quindi quando provi a inserire un voto con un valore user_vote diverso da quello esistente nella tabella dei voti_ consentiti, ottieni un errore di errore del vincolo:

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