Catatan Penulis :dua bagian pertama dari jawaban ini salah. Saya pikir MySQL mendukung CHECK
kendala dan tidak. Masih tidak. Untuk membatasi kolom ke daftar nilai sederhana, gunakan ENUM
pendekatan di akhir jawaban ini. Jika logikanya lebih rumit (rentang nilai, nilai berdasarkan kolom lain, dll.), satu-satunya opsi MySQL adalah pemicu.
Anda memerlukan CHECK
kendala jika itu adalah INT
:
CREATE TABLE Site (
SiteID INT,
CONSTRAINT SiteID_Ck CHECK (SiteID IN (1, 2, 3, 4)),
... and the rest
Atau:
CREATE TABLE Site (
SiteID INT,
CONSTRAINT SiteID_Ck CHECK (SiteID BETWEEN 1 AND 4),
... and the rest
Atau jika Anda dapat menggunakan string SiteID maka:
CREATE TABLE Site (
SiteID ENUM('1', '2', '3', '4'),
... and the rest