SQL Server में यूनिक कंस्ट्रेंट क्या है?
यूनिक कंस्ट्रेंट एक फील्ड या डेटा फील्ड्स का कॉम्बिनेशन है, जो एक रिकॉर्ड को विशिष्ट रूप से पहचानता है। कुछ फील्ड्स NULL मान रख सकते हैं, जब तक कि मानों का कॉम्बिनेशन यूनिक हो।
यूनिक कंस्ट्रेंट और प्राइमरी की में अंतर
| प्राइमरी की | यूनिक कंस्ट्रेंट |
|---|---|
| प्राइमरी की में कोई फील्ड NULL मान रखने की अनुमति नहीं है। | यूनिक कंस्ट्रेंट के कुछ फील्ड्स NULL मान रख सकते हैं, बशर्ते मानों का कॉम्बिनेशन यूनिक हो। |
CREATE TABLE कमांड के साथ यूनिक कंस्ट्रेंट बनाएं
CREATE TABLE table_name
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
CONSTRAINT constraint_name UNIQUE (column1_uq, column2_uq, ... column_n_uq)
);
table_name: उस टेबल का नाम जिसे आप बनाना चाहते हैं।
column1, column2: वे कॉलम जिन्हें आप टेबल में बनाना चाहते हैं।
constraint_name: यूनिक बाइंडिंग का नाम।
column1_uq, column2_uq, ... column_n_uq: वे कॉलम जो यूनिक कंस्ट्रेंट बनाते हैं।
उदाहरण
CREATE TABLE nhanvien
(
id_nhanvien INT PRIMARY KEY,
so_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT nhanvien_duynhat UNIQUE (so_nhanvien)
);
इस उदाहरण में, हमने CREATE TABLE कमांड द्वारा बनाई गई टेबल पर nhanvien_duynhat नाम का एक यूनिक कंस्ट्रेंट बनाया है, जिसमें एक सिंगल फील्ड so_nhanvien शामिल है।
एक से अधिक फील्ड के साथ यूनिक कंस्ट्रेंट भी बनाया जा सकता है:
CREATE TABLE nhanvien
(
id_nhanvien INT PRIMARY KEY,
so_nhanvien INT NOT NULL,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY,
CONSTRAINT nhanvien_duynhat UNIQUE (ho, ten)
);
ALTER TABLE कमांड के साथ यूनिक कंस्ट्रेंट बनाएं
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... column_n);
table_name: उस टेबल का नाम जिसे आप संपादित करना चाहते हैं। यह वह टेबल है जिस पर आप यूनिक कंस्ट्रेंट जोड़ना चाहते हैं।
constraint_name: उस यूनिक कंस्ट्रेंट का नाम जिसे आप बनाना चाहते हैं।
column1, column2, ... column_n: वे कॉलम जो यूनिक कंस्ट्रेंट बनाते हैं।
उदाहरण
ALTER TABLE nhanvien
ADD CONSTRAINT nhanvien_duynhat UNIQUE (so_nhanvien);
उपरोक्त उदाहरण ALTER TABLE कमांड का उपयोग करके एक मौजूदा टेबल पर यूनिक कंस्ट्रेंट बनाता है, जिसे nhanvien कहा जाता है, जिसे so_nhanvien फील्ड कहा जाता है। एक से अधिक फील्ड के साथ कंस्ट्रेंट बनाने के लिए, नीचे उदाहरण देखें।
ALTER TABLE nhanvien
ADD CONSTRAINT nhanvien_duynhat UNIQUE (ho, ten);
यूनिक बाइंडिंग हटाएं
सिंटैक्स
ALTER TABLE table_name
DROP CONSTRAINT constraint_name;
table_name: उस टेबल का नाम जिसे आप संपादित करना चाहते हैं। यह वह टेबल है जिस पर आप यूनिक कंस्ट्रेंट हटाना चाहते हैं।
constraint_name: उस यूनिक कंस्ट्रेंट का नाम जिसे आप हटाना चाहते हैं।
उदाहरण
ALTER TABLE nhanvien
DROP CONSTRAINT nhanvien_duynhat;
उपरोक्त उदाहरण टेबल पर nhanvien_duynhat नाम के यूनिक कंस्ट्रेंट को हटाता है।