आप जो दिखा रहे हैं वह बाइनरी नंबर हैं
- 0000000 =0
- 0000001 =2^0 =1
- 0000010 =2^1 =2
- 0000011 =2^0 + 2^1 =3
तो बस इन नंबरों को एक पूर्णांक डेटा प्रकार में संग्रहीत करें (जो निश्चित रूप से दिखाए गए बिट्स के साथ आंतरिक रूप से संग्रहीत है)। आप इसके लिए BIGINT का उपयोग कर सकते हैं, जैसा कि बिटवाइज़ ऑपरेशंस के लिए डॉक्स में अनुशंसित है (http://dev.mysql.com/doc/refman/5.7/en/bit-functions.html )।
ध्वज n सेट करने का तरीका यहां दिया गया है:
UPDATE mytable
SET bitmask = POW(2, n-1)
WHERE id = 12345;
यहां ध्वज जोड़ने का तरीका बताया गया है:
UPDATE mytable
SET bitmask = bitmask | POW(2, n-1)
WHERE id = 12345;
झंडे की जांच करने का तरीका यहां दिया गया है:
SELECT *
FROM mytable
WHERE bitmask & POW(2, n-1)
लेकिन जैसा कि टिप्पणियों में बताया गया है:एक रिलेशनल डेटाबेस में आप आमतौर पर एन्कोडेड फ्लैग सूची के बजाय विशेषताओं और संबंधों को दिखाने के लिए कॉलम और टेबल का उपयोग करते हैं।