समस्या:
आप किसी डेटाबेस में दी गई तालिका में दिए गए कॉलम को विशिष्ट बनाना चाहेंगे।
उदाहरण:
हम कॉलम को name
. बनाना चाहेंगे तालिका में अद्वितीय product
. नीचे दी गई क्वेरी इसे करने का एक तरीका प्रस्तुत करती है।
समाधान 1
CREATE TABLE product ( id INT NOT NULL PRIMARY KEY, name VARCHAR(100) UNIQUE, producer VARCHAR(100), category VARCHAR(100) );
चर्चा:
इस उदाहरण में एक दिया गया कॉलम (स्तंभ name
) को परिभाषा कॉलम के अंत में UNIQUE क्लॉज जोड़कर अद्वितीय बनाया गया था (name VARCHAR(100) UNIQUE
) यह नई तालिका (हमारे उदाहरण में:product
) में कॉलम होगा (हमारे उदाहरण में:name
) जो अद्वितीय मानों को पंक्तियों में संग्रहीत करता है।
समाधान 2:
ALTER TABLE product ADD CONSTRAINT UQ_product_name UNIQUE(name);
चर्चा:
इस उदाहरण में तालिका product
पहले से ही मौजूद है। हम इस तालिका को संशोधित करना चाहते हैं और कॉलम name
. में एक अद्वितीय बाधा जोड़ना चाहते हैं . यह ALTER TABLE
. का उपयोग करके संभव है खंड। पहले हम ALTER TABLE लिखते हैं, फिर हम टेबल का नाम सूचीबद्ध करते हैं (हमारे उदाहरण में:product
), और आगे हम क्लॉज जोड़ते हैं ADD CONSTRAINT
अद्वितीय बाधा के नाम के साथ (हमारे उदाहरण में:UQ_product_name
) इसके बाद कॉलम/कॉलम के साथ UNIQUE कीवर्ड आता है (हमारे उदाहरण में यह कॉलम है:name
) कोष्ठक में।
आप एक बहु-स्तंभ अद्वितीय बाधा भी बना सकते हैं। यहां बताया गया है:
समाधान 3:
ALTER TABLE product ADD CONSTRAINT UQ_product_name_producer UNIQUE(name, producer);
चर्चा:
इस उदाहरण में तालिका उत्पाद को ALTER TABLE
. का उपयोग करके बदला जाता है क्लॉज और क्लॉज ADD CONSTRAINT अद्वितीय बाधा के नाम के साथ (हमारे उदाहरण में:UQ_product_name_producer
) उसके बाद UNIQUE
कॉलम की सूची के साथ कीवर्ड (हमारे उदाहरण में दो कॉलम हैं:name
और producer
) कोष्ठक में।