अद्वितीय बाधा आपको अपने डेटाबेस तालिका में रिकॉर्ड की विशिष्टता को लागू करने और डेटाबेस अखंडता बनाए रखने की अनुमति देती है। यहां बताया गया है कि MySQL DROP INDEX कमांड का उपयोग करके MySQL तालिका से अद्वितीय बाधा को कैसे हटाया जाए। इसका उपयोग MySQL में Unique key को हटाने के लिए भी किया जाता है।
MySQL में Unique Constraint क्या है?
तालिका के लिए अद्वितीय बाधा एक या अधिक फ़ील्ड का संयोजन है जो तालिका में प्रत्येक रिकॉर्ड को विशिष्ट रूप से परिभाषित करता है। जब तक फ़ील्ड मानों का संयोजन अद्वितीय है, तब तक इन फ़ील्ड में शून्य मान हो सकते हैं।
बोनस पढ़ें :DROP FOREIGN KY CONSTRAINT
MySQL में अद्वितीय बाधा कैसे छोड़ें
यहाँ MySQL में अद्वितीय बाधा को छोड़ने के चरण दिए गए हैं। टेबल से मौजूदा इंडेक्स को हटाने के लिए हम MySQL DROP INDEX क्वेरी का इस्तेमाल करेंगे।
यहाँ MySQL DROP INDEX कमांड का सिंटैक्स दिया गया है
DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];
उपरोक्त क्वेरी में, constraint_name बाधा का नाम है, और table_name आपका डेटाबेस तालिका नाम है।
कृपया ध्यान दें , चाहे आप DROP INDEX या DROP UNIQUE CONSTRAINT करना चाहते हों, आपको DROP INDEX क्वेरी का उपयोग करना होगा।
बोनस पढ़ें :MySQL DROP DATABASE
आप 2 वैकल्पिक तर्क भी प्रदान कर सकते हैं - algorithm_option और lock_option.
एल्गोरिदम_विकल्प 3 में से कोई भी मान हो सकता है - डिफ़ॉल्ट, इनप्लेस, कॉपी। आपके तर्क के आधार पर, MySQL अद्वितीय बाधाओं को दूर करने के लिए विभिन्न एल्गोरिदम का उपयोग करेगा।
इसका सिंटैक्स है
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- डिफ़ॉल्ट - इसका वही प्रभाव होता है जो algorithm_option . का उपयोग न करने पर होता है तर्क
- प्रतिलिपि - जिस तालिका में आपको बाधा को हटाने की आवश्यकता है, उसकी प्रतिलिपि बनाई जाएगी और अनुक्रमणिका को प्रतिलिपि तालिका से हटा दिया जाएगा। इस समय के दौरान, INSERT और UPDATE जैसे समवर्ती संचालन की अनुमति नहीं है।
- इनप्लेस - इस मामले में, टेबल को बिना किसी बाधा के फिर से बनाया जाता है। हालांकि यह विकल्प समवर्ती संचालन की अनुमति देता है, यह निष्पादन के दौरान मेटाडेटा लॉक रखता है।
lock_option . के आधार पर जब बाधा हटाई जा रही हो, तो MySQL आपकी टेबल पर रीड/राइट एक्सेस को लॉक/लॉक नहीं करेगा। lock_option निम्नलिखित सिंटैक्स है
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
इसमें 4 मान लगते हैं:
- डिफ़ॉल्ट - यह आपकी पसंद के एल्गोरिथम के लिए अधिकतम समवर्तीता की अनुमति देता है। यह समर्थित होने पर समवर्ती पढ़ने और लिखने दोनों की अनुमति देता है। यदि नहीं, तो यह केवल समवर्ती पढ़ने की अनुमति देता है। यदि वह भी समर्थित नहीं है, तो यह अनन्य पहुँच को लागू करता है।
- कोई नहीं - यदि समर्थित है, तो आप समवर्ती रूप से पढ़ और लिख सकते हैं। अन्यथा, MySQL एक त्रुटि देता है।
- साझा - यदि साझा विकल्प समर्थित है, तो आप समवर्ती पढ़ सकते हैं, लेकिन समवर्ती लेखन नहीं।
- अनन्य - यह विकल्प अनन्य पहुंच को लागू करता है
बोनस पढ़ें :MySQL DROP COLUMN
MySQL DROP UNIQUE CONSTRAINT उदाहरण
मान लें कि आपके पास निम्न तालिका अद्वितीय बाधा के साथ है।
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, constraint name unique (product) );
यहाँ अद्वितीय बाधा को छोड़ने के लिए SQL क्वेरी है नाम तालिका आदेश . से ।
mysql> DROP INDEX name ON orders;
बोनस पढ़ें :MySQL ड्रॉप टेबल
MySQL DROP PRIMARY KEY Index
चूंकि प्राथमिक कुंजी भी टेबल पर अद्वितीय बाधा का एक उदाहरण है, टेबल ऑर्डर पर प्राथमिक कुंजी बाधा को छोड़ने का सिंटैक्स यहां दिया गया है।
mysql> DROP INDEX `PRIMARY` ON orders;
इस मामले में हम प्राथमिक कुंजी फ़ील्ड को फ़ील्ड नाम का उपयोग करने के बजाय `प्राथमिक` के रूप में संदर्भित करते हैं।
Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!