एक तालिका की विशेषता घोषित कर रहा है जैसा कि इसे प्राथमिक कुंजी के रूप में घोषित करने के बराबर अद्वितीय है?अद्वितीय और प्राथमिक कुंजी
बहुत बहुत धन्यवाद!
एक तालिका की विशेषता घोषित कर रहा है जैसा कि इसे प्राथमिक कुंजी के रूप में घोषित करने के बराबर अद्वितीय है?अद्वितीय और प्राथमिक कुंजी
बहुत बहुत धन्यवाद!
अलग है: प्राथमिक कुंजी डिफ़ॉल्ट रूप से क्लस्टर सूचकांक बनाएगी और केवल एक पीके एक तालिका में मौजूद हो सकती है। प्राथमिक कुंजी कई कॉलम (समग्र कुंजी) को कवर कर सकती है
कोई भी समान नहीं है लेकिन समान है, जब एक कॉलम अद्वितीय होता है तो इसमें अद्वितीय मान होते हैं लेकिन यह उस कॉलम में एक शून्य मान भी देता है लेकिन प्राथमिक किसी भी शून्य मानों की अनुमति नहीं देता है । प्राथमिक कुंजी का उपयोग किसी अन्य तालिका में संदर्भ के लिए किया जा सकता है।
आप एक मेज लेकिन कई अद्वितीय कुंजी
में केवल एक प्राथमिक कुंजी हो सकता है जब आप एक अद्वितीय बाधा घोषित, एसक्यूएल सर्वर डुप्लिकेट के लिए खोज की प्रक्रिया में तेजी लाने के लिए एक अनूठा सूचकांक पैदा करता है। इस मामले में सूचकांक NONCLUSTERED इंडेक्स पर डिफ़ॉल्ट है, क्योंकि आपके पास प्रति तालिका केवल एक क्लस्टरेड इंडेक्स हो सकता है।
प्राथमिक कुंजी के विपरीत अद्वितीय बाधाएं पूरी तरह से स्वीकार कर सकती हैं लेकिन केवल एक बार। यदि बाधाओं को फ़ील्ड के संयोजन में परिभाषित किया गया है, तो प्रत्येक फ़ील्ड न्यूल स्वीकार कर सकती है और उनके पास कुछ मूल्य हो सकते हैं, जब तक कि संयोजन मान अद्वितीय हों।
हैप्पी कोडिंग !!!
"अद्वितीय बाधाएं पूरी तरह से स्वीकार कर सकती हैं लेकिन सिर्फ एक बार": अवतारकाव ने जो कहा वह विपरीत है: अद्वितीय कुंजी नल हो सकती है, और कई नल मूल्यों की अनुमति है। इनमें से कौनसा? – Thilo
से: http://dev.mysql.com/doc/refman/5.0/en/create-index.html एक अद्वितीय सूचकांक एक बाधा उत्पन्न करता है जैसे कि सूचकांक में सभी मान अलग-अलग होना चाहिए। एक त्रुटि तब होती है जब आप किसी मौजूदा पंक्ति से मेल खाने वाले कुंजी मान के साथ एक नई पंक्ति जोड़ने का प्रयास करते हैं। यह बाधा बीडीबी स्टोरेज इंजन को छोड़कर नल मूल्यों पर लागू नहीं होती है।अन्य इंजनों के लिए, एक यूनिक इंडेक्स कॉलम के लिए कई नल मानों की अनुमति देता है जिसमें न्यूल हो सकता है। यदि आप एक यूनिक इंडेक्स में कॉलम के लिए उपसर्ग मान निर्दिष्ट करते हैं, तो कॉलम मान उपसर्ग के भीतर अद्वितीय होना चाहिए। – AvatarKava
प्रश्न "mysql" टैग किया गया है, लेकिन मेरा मानना है कि ओरेकल कई नल मूल्यों को भी अनुमति देता है (दो न्यूल को बराबर नहीं माना जाता है)। ऐसा लगता है कि यह अधिक प्राकृतिक सम्मेलन है। – Thilo
नहीं। अद्वितीय के रूप में एक स्तंभ बनाना प्राथमिक कुंजी या प्राथमिक कुंजी का हिस्सा बनाने से बहुत अलग है।
नहीं।
प्राथमिक कुंजी अद्वितीय होना चाहिए, लेकिन अद्वितीय कुंजी को प्राथमिक नहीं होना चाहिए। आप एक टेबल में कई अनन्य कुंजी हो सकते हैं।
मुख्य अंतर यह है कि प्राथमिक कुंजी में नल मान नहीं हो सकते हैं, क्योंकि उन्हें विशिष्ट रूप से एक पंक्ति की पहचान करनी चाहिए। अद्वितीय कुंजी नल हो सकती है, और कई नल मानों की अनुमति है (जब तक आप बीडीबी जैसे असामान्य टेबल इंजन का उपयोग नहीं कर रहे हों)।
उह जो एक अनजान भयानक पन था। – AvatarKava
मुझे लगता है कि एक टेबल पर एक अद्वितीय इंडेक्स बनाने की कोशिश कर रहा है और कई नल मानों के कारण सक्षम नहीं है, लेकिन मुझे ट्रिपिंग होना चाहिए। – Duncan
शायद 4.x में वापस आ गया है, डंकन - मुझे विश्वास है कि उनके पास उस बाधा को वापस किया गया था: http://dev.mysql.com/doc/refman/5.0/en/create-index.html – AvatarKava
यूनिक अभी भी शून्य हो सकता है।
प्राथमिक कुंजी का मतलब अद्वितीय है और न्यूल नहीं है और प्रति तालिका केवल एक प्राथमिक कुंजी हो सकती है।
नहीं .. वे बराबर नहीं हैं। अनन्य कुंजी में शून्य मान हो सकते हैं लेकिन प्राथमिक कुंजी को शून्य मान रखने की अनुमति नहीं है। यहां लिंक है जो अंतर http://sqlhints.com/2013/06/02/difference-between-primary-key-and-unique-key-in-sql-server/
आपके पास एकाधिक कॉलमों में फैली अद्वितीय बाधाएं हो सकती हैं। – Thilo