लेखक का नोट :इस उत्तर के पहले दो भाग गलत हैं। मुझे लगा कि MySQL ने CHECK
का समर्थन किया है बाधाओं और यह नहीं किया। अभी भी नहीं है। स्तंभों को मानों की एक साधारण सूची तक सीमित करने के लिए, ENUM
. का उपयोग करें इस उत्तर के अंत में दृष्टिकोण। यदि तर्क अधिक जटिल है (मानों की श्रेणी, किसी अन्य कॉलम पर आधारित मान, आदि), तो एकमात्र MySQL विकल्प एक ट्रिगर है।
आपको एक CHECK
की आवश्यकता है बाधा अगर यह एक INT
है :
CREATE TABLE Site (
SiteID INT,
CONSTRAINT SiteID_Ck CHECK (SiteID IN (1, 2, 3, 4)),
... and the rest
या:
CREATE TABLE Site (
SiteID INT,
CONSTRAINT SiteID_Ck CHECK (SiteID BETWEEN 1 AND 4),
... and the rest
या यदि आप एक स्ट्रिंग SiteID के साथ रह सकते हैं तो:
CREATE TABLE Site (
SiteID ENUM('1', '2', '3', '4'),
... and the rest