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

सेट फ़ील्ड के साथ mysql लोड डेटा स्थानीय infile सिंटैक्स समस्याएँ

यह काम करने के लिए उचित सिंटैक्स का पता लगाया:

sql = """LOAD DATA LOCAL INFILE %s INTO TABLE seriallog_dev 
         FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' 
         LINES TERMINATED BY '\\n' 
         IGNORE 1 LINES 
         (FLEX_PN, FLEX_PLANT, FLEX_ORDID, FLEX_REV, CUST_PN, CUST_REV, SERIALID, @DTE, @LTME) 
         SET RECORDID = NULL, 
             TRANS_OCR = STR_TO_DATE(CONCAT(@DTE,'',@LTME), "%%Y%%m%%d%%H%%i%%s"), 
             CREATED = CURRENT_TIMESTAMP;"""

params = (file,)
self.db.query( sql, params )

ध्यान रहे--यह अजगर के mysqldb मॉड्यूल के साथ किया जाता है।

चेतावनी

इस समाधान के साथ एकमात्र समस्या यह है कि किसी कारण से मेरा बल्क इंसर्ट केवल मेरी फ़ाइल से डेटा की पहली 217 पंक्तियाँ सम्मिलित करता है। मेरी कुल फ़ाइल का आकार 19KB है इसलिए मैं कल्पना नहीं कर सकता कि यह mysql बफ़र्स के लिए बहुत बड़ा है... तो क्या देता है?

अधिक जानकारी

साथ ही, मैंने इस सिंटैक्स को सीधे msyql-server CLI के भीतर आज़माया और यह सभी 255 रिकॉर्ड्स के लिए काम करता है। तो, स्पष्ट रूप से यह अजगर, अजगर mysqldb मॉड्यूल, या mysql कनेक्शन के साथ कुछ समस्या है जो mysqldb मॉड्यूल बनाता है...

हो गया

मैंने बस समस्या का पता लगा लिया, इसका लोड डेटा लोकल इनफाइल कमांड से कोई लेना-देना नहीं था, बल्कि .csv आयात करने का प्रयास करने से पहले मैं अपनी मूल .dbf फ़ाइल को .csv में बदलने के लिए जिस विधि का उपयोग कर रहा था। किसी कारण से .dbf से .csv रूपांतरण विधि समाप्त होने से पहले .csv पर mysql आयात विधि चल रही थी - जिसके परिणामस्वरूप आंशिक डेटा सेट .csv फ़ाइल में पाया गया और आयात किया गया... सभी का समय बर्बाद करने के लिए क्षमा करें!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या mysql में Oracle के विश्लेषणात्मक कार्यों के बराबर है?

  2. MySQL स्थापना

  3. त्रुटि 1064 (42000):आपको अपने SQL सिंटैक्स में त्रुटि है; उपयोगकर्ता होने के नाते पासवर्ड को रूट के रूप में कॉन्फ़िगर करना चाहते हैं

  4. क्वेरी स्टेटमेंट के बाहर mysql क्वेरी से मूल्य कैसे प्राप्त करें?

  5. एक अलग तालिका बनाएं बिना एक चयन कथन में एक अस्थायी तालिका बनाएं