"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या एक अद्वितीय सूचकांक मौजूदा डुप्लिकेट वाली तालिका में डुप्लिकेट को हटा सकता है, और कैसे?

क्या एक अद्वितीय सूचकांक मौजूदा डुप्लिकेट वाली तालिका में डुप्लिकेट को हटा सकता है, और कैसे?

2024-11-08 को प्रकाशित
ब्राउज़ करें:887

Can a Unique Index Remove Duplicates in a Table with Existing Duplicates, and How?

अद्वितीय सूचकांक के साथ डुप्लिकेट हटाना

डुप्लिकेट डेटा प्रविष्टि को रोकने के प्रयास में, फ़ील्ड ए, बी के लिए गलती से एक सामान्य सूचकांक बनाया गया था। सी, और डी, जिसके परिणामस्वरूप 20 मिलियन रिकॉर्ड तालिका में डुप्लिकेट रिकॉर्ड की उपस्थिति हुई। सवाल उठता है: क्या इन क्षेत्रों के लिए एक अद्वितीय सूचकांक जोड़ने से मौजूदा लोगों से समझौता किए बिना डुप्लिकेट हटा दिए जाएंगे?

सूचकांक को सही करना और डुप्लिकेट को संभालना

के साथ एक अद्वितीय सूचकांक जोड़ना IGNORE संशोधक के बिना ALTER TABLE कथन विफल हो जाएगा क्योंकि अद्वितीय रिकॉर्ड पहले से मौजूद हैं। हालाँकि, IGNORE संशोधक का उपयोग करने से डुप्लिकेट हटा दिए जाएंगे। IGNORE संशोधक समर्थित नहीं है, एक अलग दृष्टिकोण की सिफारिश की जाती है:

डेटा को अस्थायी रूप से कॉपी करें तालिका।

मूल तालिका को छोटा करें।

अद्वितीय सूचकांक बनाएं।
  1. किसी भी डुप्लिकेट पंक्तियों को छोड़कर INSERT IGNORE का उपयोग करके डेटा को मूल तालिका में वापस कॉपी करें।
  2. INSERT के साथ डुप्लिकेट हटाने के लिए सिंटैक्स अनदेखा करें
तालिका बनाएं tmp_data चुनें * mytable से; ट्रंकेट टेबल मायटेबल; परिवर्तन तालिका mytable अद्वितीय सूचकांक myindex जोड़ें (ए, बी, सी, डी); INSERT IGNORE INTO mytable SELECT * FROM tmp_data; ड्रॉप टेबल tmp_data;

अतिरिक्त विचार

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