के बिना MySQL डेटाबेस में डुप्लिकेट प्रविष्टियों को हटा रहा है मुझे बहुत सारे डुप्लीकेट वाले एक बड़े बड़े MySQL डेटाबेस प्राप्त हुए हैं। डेटाबेस के लगभग एक तिहाई डुप्लिकेट हैं। यह भी प्राथमिक कुंजी है।प्राथमिक कुंजी
डेटाबेस की संरचना तो है:
unique_id | field01 | field02 | field03 | field04 | ...... | field26 | field27 |
अब unique_id, माना जाता है, जबकि अच्छी तरह से, अद्वितीय, बहुत सारे डुप्लिकेट हैं।
इसके अलावा, किसी विशेष अद्वितीय_आईडी की प्रतियों से संबंधित पंक्तियों के सेट के लिए, शेष कॉलम समान हो सकते हैं या नहीं भी हो सकते हैं। उदाहरण के लिए, नीचे unique_id 'id_1' को देखते हुए, फ़ील्ड 01 दोनों उदाहरणों में समान है, लेकिन field02 & field03 नहीं हैं।
मैं पुनरावृत्ति को हटाना चाहता हूं और प्रत्येक अद्वितीय_आईडी की केवल एक प्रति जीवित रहना चाहता हूं। इससे कोई फर्क नहीं पड़ता कि कौन सा जीवित रहता है।
उदाहरण:
id_1 | abc | dfd | NULL | ... | def |
id_2 | abc | daf | ghi | ... | 12a |
id_1 | abc | xyz | jkl | ... | def |
id_4 | aaa | bbb | NULL | ... | def |
id_3 | NULL | bbb | NULL | ... | 123 |
id_5 | 1e3 | NULL | NULL | ... | def |
id_3 | aaa | bbb | fds | ... | def |
id_9 | awa | bbb | NULL | ... | 910 |
बन चाहिए:
id_1 | abc | dfd | NULL | ... | def |
id_2 | abc | daf | ghi | ... | 12a |
id_4 | aaa | bbb | NULL | ... | def |
id_3 | NULL | bbb | NULL | ... | 123 |
id_5 | 1e3 | NULL | NULL | ... | def |
id_9 | awa | bbb | NULL | ... | 910 |
या यह भी ठीक है:
id_2 | abc | daf | ghi | ... | 12a |
id_1 | abc | xyz | jkl | ... | def |
id_4 | aaa | bbb | NULL | ... | def |
id_5 | 1e3 | NULL | NULL | ... | def |
id_3 | aaa | bbb | fds | ... | def |
id_9 | awa | bbb | NULL | ... | 910 |
एक बार ऐसा हो रहा है, मैं unique_is के रूप में स्थापित करने की आवश्यकता होगी प्राथमिक कुंजी।
कृपया इसे करने का सबसे अच्छा और सटीक तरीका सलाह दें। अग्रिम में धन्यवाद।
ऐसा करने के लिए नई तालिका का नाम बदलने आप केवल अद्वितीय_आईडी कॉलम पर डुप्लिकेशन जांच चाहते हैं? –
कृपया इस धागे को देखें, आपको डुप्लिकेट मानों को हटाने के बारे में कुछ अंतर्दृष्टि मिलेगी :: http://stackoverflow.com/questions/2728413/equivalent-of-oracles-rowid-in-mysql –