Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Limite o valor de um tipo de dados MySQL a um intervalo específico (de preferência não ENUM)


Você pode criar uma tabela de valores de votos permitidos e adicionar uma chave estrangeira em sua tabela de votos, então, quando você tenta inserir um voto com valor user_vote diferente do existente em sua tabela allowed_votes, você recebe um erro de falha de restrição:
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);