अद्वितीय सूचकांक के साथ डुप्लिकेट हटाना
डुप्लिकेट डेटा प्रविष्टि को रोकने के प्रयास में, फ़ील्ड ए, बी के लिए गलती से एक सामान्य सूचकांक बनाया गया था। सी, और डी, जिसके परिणामस्वरूप 20 मिलियन रिकॉर्ड तालिका में डुप्लिकेट रिकॉर्ड की उपस्थिति हुई। सवाल उठता है: क्या इन क्षेत्रों के लिए एक अद्वितीय सूचकांक जोड़ने से मौजूदा लोगों से समझौता किए बिना डुप्लिकेट हटा दिए जाएंगे?
सूचकांक को सही करना और डुप्लिकेट को संभालना
के साथ एक अद्वितीय सूचकांक जोड़ना IGNORE संशोधक के बिना ALTER TABLE कथन विफल हो जाएगा क्योंकि अद्वितीय रिकॉर्ड पहले से मौजूद हैं। हालाँकि, IGNORE संशोधक का उपयोग करने से डुप्लिकेट हटा दिए जाएंगे। IGNORE संशोधक समर्थित नहीं है, एक अलग दृष्टिकोण की सिफारिश की जाती है:
डेटा को अस्थायी रूप से कॉपी करें तालिका।
मूल तालिका को छोटा करें।अद्वितीय सूचकांक बनाएं।अतिरिक्त विचार
CREATE TABLE tmp_data SELECT * FROM mytable;
TRUNCATE TABLE mytable;
ALTER TABLE mytable ADD UNIQUE INDEX myindex (A, B, C, D);
INSERT IGNORE INTO mytable SELECT * FROM tmp_data;
DROP TABLE tmp_data;
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3