मैं phpMyAdmin के साथ MySQL में एक सरल 'हां'/'शायद'/'नहीं' Enum बनाने की कोशिश कर रहा हूं, मैंने न्यूल को नो सेट किया है, और 'शायद' डिफ़ॉल्ट मानMySQL Enum में हमेशा संभावनाओं में '' (खाली स्ट्रिंग) होती है
के रूप में मैं एक त्रुटि जब की तरह "सेट EnumCol = ''" कुछ को क्रियान्वित करने की उम्मीद कर रहा हूँ, क्योंकि '' (कोई रिक्त स्ट्रिंग) कोई मान्य मान नहीं होना चाहिए। लेकिन क्वेरी निष्पादित हो जाती है और मान '' पर सेट हो जाता है - जिसका अर्थ है कि जब भी मैं डेटाबेस से पढ़ता हूं तो मुझे इस अनचाहे और अवैध मूल्य के लिए दोबारा जांच करने के लिए मजबूर होना पड़ता है!
इस MySQL या phpMyAdmin में एक बग है? क्या कोई इस व्यवहार को अक्षम करने का तरीका जानता है?
धन्यवाद।
लेकिन 'ENUM' प्रकार जोड़तोड़ तेजी से तो विदेशी कुंजी की जांच की जाएगी। –
सच। लेकिन कौन परवाह करता है? यह शायद एक ऐसा एप्लीकेशन नहीं है जिसमें प्रति मिनट 10k इन्सर्ट हों, जहां एनम पर स्विचिंग प्रदर्शन में सुधार करेगी। गति के लिए विदेशी कुंजी पर enum चुनना समयपूर्व अनुकूलन का मामला है। – longneck
मैं एफके के साथ लुकअप टेबल का उपयोग करने के इस वैकल्पिक समाधान की सराहना करता हूं। यह भी अधिक विस्तार योग्य लगता है। –