2015-06-18 7 views
14

यदि मैं माईएसक्ल में प्राथमिक कुंजी के रूप में कॉलम को परिभाषित करता हूं, तो क्या यह डिफ़ॉल्ट रूप से अनन्य कुंजी भी है या क्या मुझे इसे अनन्य कुंजी के रूप में परिभाषित करने की आवश्यकता है (यदि मैं इसे अद्वितीय बनाना चाहता हूं)?MySQL - डिफ़ॉल्ट रूप से प्राथमिक कुंजी अद्वितीय है?

मैंने यह प्रश्न What is the difference b/w Primary Key and Unique Key देखा जो दोनों के बीच के अंतर को समझता है लेकिन मेरे प्रश्न का बिल्कुल जवाब नहीं देता है। क्या पीके डिफ़ॉल्ट रूप से यूके है या मुझे इसे स्पष्ट रूप से परिभाषित करने की आवश्यकता है।

+0

संभावित डुप्लिकेट [अंतर बी/डब्ल्यू प्राथमिक कुंजी और अनोखा कुंजी क्या है] (http://stackoverflow.com/questions/2973420/what-is-the-difference-bw-primary-key-and-unique -की) – Akhil

+1

@ अखिल - मैंने इस सवाल को लिंक में देखा, जो दोनों के बीच अंतर को समझाता है लेकिन मेरे प्रश्न का बिल्कुल जवाब नहीं देता है। क्या पीके डिफ़ॉल्ट रूप से यूके है या मुझे इसे स्पष्ट रूप से परिभाषित करने की आवश्यकता है। –

+0

प्राथमिक कुंजी और अद्वितीय कुंजी के बीच अंतर [http://stackoverflow.com/questions/9565996/difference-between-primary-key-and-unique-key) के संभावित डुप्लिकेट –

उत्तर

16

Primary key is always unique प्रत्येक SQL में। आपको स्पष्ट रूप से इसे अद्वितीय के रूप में परिभाषित नहीं करना है।

एक तरफ नोट: आपके पास केवल एक तालिका में एक प्राथमिक कुंजी हो सकती है और यह कभी भी शून्य मानों की अनुमति नहीं देती है। इसके अलावा आपके पास तालिका में केवल एक प्राथमिक कुंजी बाधा हो सकती है (प्राथमिक कुंजी बनाने का बिंदु आपकी तालिका में पंक्ति को विशिष्ट रूप से पहचानना है) लेकिन आप अपनी तालिका में एक से अधिक अद्वितीय कुंजी बाधा डाल सकते हैं।

उदाहरण:

एक कर्मचारी विवरण तालिका EmpID प्राथमिक कुंजी और EmpPhoneNo अद्वितीय कुंजी के रूप में के रूप में हो रही है।

+2

एक और बिंदु: एक तालिका ** हो सकती है केवल एक प्राथमिक कुंजी ** बाधा है, लेकिन इसमें जितनी चाहें उतनी ही महत्वपूर्ण बाधाएं हो सकती हैं – Bikku

+0

@GoodBadandUgly: - हाँ एक अच्छी बात है! +1 –

+0

वास्तव में अद्वितीय और प्राथमिक कुंजी के बीच अधिक अंतर हैं, जैसे प्राथमिक कुंजी पूर्ण नहीं हो सकती है। लेकिन यह सवाल नहीं है। –

3

प्राथमिक कुंजी हमेशा परिभाषा द्वारा अद्वितीय है। न केवल MySQL में। तो आपको किसी भी अतिरिक्त अद्वितीय कुंजी की आवश्यकता नहीं है।

संबंधित मुद्दे