यह एक ग़लतफ़हमी है।
द UNIQUE
बाधा बिल्कुल करता है आपको क्या चाहिए। एकाधिक NULL
मान एक परिभाषित कॉलम में सह-अस्तित्व में हो सकते हैं UNIQUE
।
मैनुअल:
<ब्लॉकक्वॉट>सामान्य तौर पर, एक अद्वितीय बाधा का उल्लंघन होता है जब तालिका में एक से अधिक पंक्तियाँ होती हैं जहाँ बाधा में शामिल सभी स्तंभों का मान समान होता है। हालाँकि, इस तुलना में दो अशक्त मानों को समान नहीं माना जाता है। इसका मतलब है कि यहां तक कि एक अद्वितीय बाधा की उपस्थिति में भी डुप्लिकेट पंक्तियों को संग्रहीत करना संभव है जिसमें एक शून्य मान होता है विवश स्तंभों में से कम से कम एक में। यह व्यवहार SQL मानक के अनुरूप है, लेकिन हमने सुना है कि अन्य SQL डेटाबेस इस नियम का पालन नहीं कर सकते हैं। इसलिए पोर्टेबल होने के लिए डिज़ाइन किए गए एप्लिकेशन विकसित करते समय सावधान रहें।
बोल्ड जोर मेरा।
ध्यान रखें कि वर्ण प्रकार एक खाली स्ट्रिंग की अनुमति देते हैं (''
), जो नहीं . है एक NULL
मान और एक से अधिक पंक्तियों में दर्ज किए जाने पर किसी भी अन्य गैर-शून्य मान की तरह एक अद्वितीय उल्लंघन को ट्रिगर करेगा।