Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में डुप्लिकेट पंक्तियों का नाम बदलें

यदि आप PHP का उपयोग कर सकते हैं, तो मैं आपको इसे PHP के माध्यम से करने की सलाह दूंगा। मुझे MySQL के साथ ऐसा करने का कोई तरीका नहीं मिला है। यह उन सभी पंक्तियों को अपडेट कर देगा जिनकी गिनती> 1 है, जिसमें मूल भी शामिल है।

UPDATE table
SET product_code = CONCAT(product_code, ' Copy')
GROUP BY product_code
HAVING COUNT(*) > 1

जो आप नहीं चाहते। इसलिए, यदि आप PHP का उपयोग करते हैं, तो आप ऐसा कर सकते हैं (यह मानते हुए कि आपकी तालिका में पंक्तियों की संख्या कम है (3000 ठीक है))

<?php
$result = mysql_query("SELECT * FROM table");
$rowsCnt = array();
while($row = mysql_fetch_assoc($result)){
    $rows[] = $row;
    $rowsCnt[ $row['product_code'] ]++;
}

foreach($rows as $index => $row) {
    if ($rowsCnt[ $row['product_code'] ] > 1) {
        mysql_query("UPDATE table SET product_code = '".mysql_real_escape_string($row['product_code'])." Copy' LIMIT ".($rowsCnt[ $row['product_code'] ] - 1)
    }
}

अस्वीकरण: टेस्ट नहीं हुआ! पहले बैकअप लें!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीडीओ बूलियन मोड में स्टेटमेंट तैयार करता है और उसके खिलाफ मैच करता है

  2. मैं mysqld_safe चल रहे परिदृश्य में mysql का पासवर्ड कैसे सेट कर सकता हूं?

  3. मेरे द्वारा Wordpress को नए सर्वर पर ले जाने के बाद Facebook मेटा डेटा को स्क्रैप नहीं कर सकता

  4. mysql में एक कॉलम के लिए GUID का डिफ़ॉल्ट मान

  5. GUI का उपयोग करके MySQL कार्यक्षेत्र में स्थिति और सिस्टम चर कैसे देखें?