2009-10-19 9 views
33

मेरे पास मेरे SQL सर्वर डेटाबेस में एक साधारण तालिका है। इस तालिका में दो कॉलम हैं: ID int, Name nvarchar(50)ID कॉलम मेरी तालिका के लिए प्राथमिक कुंजी है।SQL सर्वर 2008 में "No Duplicates" कॉलम कैसे बनाएं?

मुझे "Name" कॉलम "(No Duplicates)" होना चाहिए, जैसे माइक्रोसॉफ्ट एक्सेस में, लेकिन यह कॉलम प्राथमिक कॉलम नहीं है। मैं ये कैसे करूं?

+3

कृपया अपने टैग में बदलावों को वापस न रोल करें - यह प्रश्न माइक्रोसॉफ्ट एक्सेस के बारे में नहीं है, बल्कि SQL सर्वर पर अद्वितीय बाधाओं के बारे में है। –

उत्तर

78

उस स्तंभ के लिए एक unique constraint जोड़ें:

ALTER TABLE Foo ADD CONSTRAINT UQ_Name UNIQUE (Name) 

एसक्यूएल प्रबंधन स्टूडियो यूआई के माध्यम से जोड़ने के लिए:

  1. ओपन SQL सर्वर प्रबंधन स्टूडियो।
  2. डेटाबेस डेटाबेस का फ़ोल्डर जहां आप बाधा उत्पन्न करना चाहते हैं विस्तृत करें।
  3. उस तालिका पर राइट-क्लिक करें जहां आप बाधा जोड़ना चाहते हैं और डिज़ाइन पर क्लिक करें।
  4. टेबल डिज़ाइनर में, इंडेक्स/कीज़ पर क्लिक करें।
  5. पर क्लिक करें।
  6. टाइप ड्रॉप-डाउन सूची में अद्वितीय कुंजी चुनें।

ऐसी स्थिति को संभालने के लिए जहां एक अद्वितीय बाधा उल्लंघन होता है, error 2601 देखें।

+1

लिंक एसक्यूएल सर्वर 2000 के लिए है और एसएसएमएस के लिए निर्देश नवीनतम संस्करण पर लागू नहीं है, जहां तक ​​मैं देख सकता हूं। समाधान के लिए – nycdan

+0

+1 .. मैंने वही किया है और मैं डुप्लिकेट मान डालने में सक्षम नहीं हूं। लेकिन प्राथमिक कुंजी मान मेरे प्रत्येक प्रयास के लिए खो रहे हैं ... मतलब है कि मेरा पीके 1 है और मैं दोहराया गया मूल्य दो बार डालने की कोशिश कर रहा हूं। अगला सही अपडेट पीके 4 होगा। मैं इससे कैसे बच सकता हूं? – rinuthomaz

+0

मैं इस उत्तर को जीयूआई समाधान के लिए पसंद करता हूं क्योंकि मैंने पोस्ट किया है क्योंकि यह वास्तव में बहुत आसान और तेज़ है, लेकिन मैंने उन लोगों के लिए पोस्ट किया है जिनके पास मजबूत जीयूआई वरीयता है। –

7

यह भी अगर आप पसंद करते SSMS जीयूआई के साथ एक और तरीका है किया जा सकता है:

  1. राइट "अनुक्रमणिका" क्लिक करें SSMS समाधान Explorer में अपने टेबल के नीचे और "नया सूचकांक ..." पर क्लिक करें (मुझे पता है यदि आप एक contstraint, नहीं एक सूचकांक बनाने के लिए देख रहे हैं, लेकिन यह वास्तव में क्या ADD CONSTRAINT SQL स्क्रिप्ट करता है।

enter image description here

  1. नया सूचकांक एक नाम दें (उदाहरण के लिए "UQ_MyUniqueColumn"), "अद्वितीय" चेक करें, और क्लिक करें "जोड़ें ..."

enter image description here

  1. अगले विंडो में अपने कॉलम पर नज़र डालें

enter image description here

ठीक
  1. क्लिक दोनों खिड़कियों में