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

प्राथमिक कुंजी को डंप किए बिना mysqldump तालिका

इस समस्या को हल करने के लिए, मैंने इस प्रश्न को देखा, @pumpkinthehead का उत्तर पाया, और महसूस किया कि हमें बस इतना करना है कि प्रत्येक पंक्ति में प्राथमिक कुंजी को NULL से बदलें, ताकि mysql इसके बजाय डिफ़ॉल्ट auto_increment मान का उपयोग करे।

(your complete mysqldump command) | sed -e "s/([0-9]*,/(NULL,/gi" > my_dump_with_no_primary_keys.sql

मूल आउटपुट:

INSERT INTO `core_config_data` VALUES
    (2735,'default',0,'productupdates/configuration/sender_email_identity','general'),
    (2736,'default',0,'productupdates/configuration/unsubscribe','1'),

रूपांतरित आउटपुट:

INSERT INTO `core_config_data` VALUES
    (NULL,'default',0,'productupdates/configuration/sender_email_identity','general'),
    (NULL,'default',0,'productupdates/configuration/unsubscribe','1'),

नोट:यह अभी भी एक हैक है; उदाहरण के लिए, यह विफल हो जाएगा यदि आपका ऑटो-इन्क्रीमेंट कॉलम पहला कॉलम नहीं है, लेकिन मेरी समस्या का 99% समय हल करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एचटीएमएल में गतिशील div में MySQL डेटाबेस से बीएलओबी छवि प्रदर्शित करना

  2. MySQL कंपाउंड कुंजी के लिए LAST_INSERT_ID() चुनें। क्या यह संभव है?

  3. मैं एकाधिक रिकॉर्ड्स में स्ट्रिंग्स को बदलने के लिए mySQL रिप्लेस () का उपयोग कैसे कर सकता हूं?

  4. डेटाबेस इंडेक्स का पुनर्निर्माण कब किया जाना चाहिए?

  5. पीएचपी:mysql_connect वापस नहीं लौट रहा FALSE