MySQL वास्तव में आपको बेवकूफ बना रहा है। इसमें बूलियन कॉलम प्रकार बिल्कुल भी नहीं है :
साथ ही, बूलियन लिटरल ऐसे नहीं हैं :
इसे ध्यान में रखते हुए:
- कई डेटाबेस सिस्टम में बूलियन नहीं होते हैं (कम से कम मानक SQL और कॉलम प्रकारों में नहीं)
- MySQL के पास
0
को लागू करने का आसान तरीका नहीं है या1
BOOLEAN
में
मेरा निष्कर्ष होगा:
- आपको उपयोग करना होगा
WHERE IS flag
या बसWHERE flag
क्योंकि=
बस सही ढंग से काम नहीं करता है। कौन सा, संभवतः वरीयता का मामला है। - आप जो भी चुनें, कोई भी विकल्प विक्रेता स्वतंत्र नहीं होगा। उदाहरण के लिए, Oracle इनमें से किसी को भी नहीं चलाएगा।
संपादित करें: यदि क्रॉस-प्लेटफ़ॉर्म आवश्यक है, तो मैं इसके लिए जाऊँगा:
WHERE flag=0
WHERE flag<>0
मुझे यकीन है कि हम सभी ने इसे बहुत बार किया है।