許可された投票値のテーブルを作成し、投票テーブルに外部キーを追加できるため、allowed_votesテーブルに存在する以外のuser_vote値で投票を挿入しようとすると、制約失敗エラーが発生します。
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);