sql >> Databasteknik >  >> RDS >> Mysql

Begränsa värdet på en MySQL-datatyp till ett specifikt intervall (helst inte ENUM)

Du kan skapa en tabell med tillåtna röstvärden och lägga till en främmande nyckel i din rösttabell, så när du försöker infoga en röst med ett annat värde för user_vote än det som finns i din allow_votes-tabell får du ett constraint fail-fel:

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



  1. SQLite Index

  2. Hur vet jag om en databas är av hög kvalitet?

  3. Återvänder från en funktion med parameter OUT

  4. MS-Access Recordset och Class Module