अपडेट करें I तालिकाओं में डुप्लिकेट पंक्तियां हैं।डुप्लीकेट पंक्तियों को कैसे हटाएं और तालिका
मैं दो टेबल जो एक विदेशी कुंजी
regions (id)
orders (region_id)
क्षेत्रों के नाम दोहराया गया है से जुड़े हुए हैं है। मैं इन डुप्लिकेट पंक्तियों को हटाना चाहता हूं और ऑर्डर टेबल अपडेट करना चाहता हूं जो डुप्लिकेट की गई विदेशी कुंजी अब केवल क्षेत्र तालिका में मौजूदा नाम को छोड़ने के लिए सेट की जाएगी।
उदाहरण:
regions table:
id name
1 | test
2 | test
3 | foo
orders table:
id region_id
6 | 1
7 | 2
9 | 3
मैं चाहता हूँ
orders table:
id region_id
6 | 1
7 | 1
9 | 3
regions table:
id name
1 | test
3 | foo
मैं इस एसक्यूएल के साथ दोहराया पंक्तियों प्राप्त कर सकते हैं:
SELECT name, count(id) as cnt FROM regions
GROUP BY name HAVING cnt > 1
मैं कैसे आदेश तालिका के साथ इस चयन कनेक्ट कर सकते हैं और दोहराया हटाना पंक्तियों और तालिका अद्यतन करें?
डुप्लिकेट को सहेजने के लिए किस रिकॉर्ड के लिए तर्क है? मैं पहली बार मानता हूं (यानी सबसे कम प्राथमिक कुंजी)। क्या आपके पास दूसरी तकनीक तक पहुंच है। MySQL के साथ सीधे ऐसा करना मुश्किल है। –
लुकास यह सिर्फ पंक्तियों को हटा नहीं रहा है। मुझे विदेशी चाबियाँ अपडेट करने की ज़रूरत है! – senzacionale
मुझे खेद है, आप सही हैं ... –