MySQL enum के बारे में थोड़ा पढ़ना, मैं सबसे करीब बराबर अनुमान लगा रहा हूँ एक साधारण जांच बाधा
CREATE TABLE sizes (
name VARCHAR2(10) CHECK(name IN ('small','medium','large'))
);
होगा, लेकिन है कि आप सूचकांक द्वारा मूल्य संदर्भ के लिए अनुमति नहीं है। एक और अधिक जटिल विदेशी कुंजी रिश्ते भी संभव होगा
CREATE TABLE valid_names (
name_id NUMBER PRIMARY KEY,
name_str VARCHAR2(10)
);
INSERT INTO valid_sizes VALUES(1, 'small');
INSERT INTO valid_sizes VALUES(2, 'medium');
INSERT INTO valid_sizes VALUES(3, 'large');
CREATE TABLE sizes (
name_id NUMBER REFERENCES valid_names(name_id)
);
CREATE VIEW vw_sizes
AS
SELECT a.name_id name, <<other columns from the sizes table>>
FROM valid_sizes a,
sizes b
WHERE a.name_id = b.name_id
जब तक आप दृश्य के माध्यम से संचालित करने के रूप में, यह प्रतीत होता है कि आपके समुचित रूप से कार्यक्षमता को दोहराने सकता है।
अब, यदि आप पीएल/एसक्यूएल समाधान स्वीकार करते हैं, तो आप कस्टम ऑब्जेक्ट प्रकार बना सकते हैं जिसमें वे मूल्यों के सेट को सीमित करने के लिए तर्क शामिल कर सकते हैं और आईडी प्राप्त करने और मूल्य प्राप्त करने के तरीके हैं।
स्रोत
2008-10-15 02:36:05
आपके पास MySQL में एम्स हैं, वे काफी उपयोगी हैं :) धन्यवाद वैसे भी! –
यह सुनिश्चित नहीं है कि यह कोई करीब है, लेकिन मुझे लगा कि मैं इसे वहां फेंक दूंगा। –
हां यह करीब है, और यह भी समाधान है जिसका मैं वर्तमान में उपयोग कर रहा हूं, लेकिन सिर्फ एक बेहतर तरीका था –