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

MySQL LOAD DATA INFILE:काम करता है, लेकिन अप्रत्याशित लाइन टर्मिनेटर

आप लाइन सेपरेटर को '\n' के रूप में निर्दिष्ट कर सकते हैं और लोडिंग के दौरान अंतिम फ़ील्ड से यदि आवश्यक हो तो पिछला '\r' सेपरेटर हटा सकते हैं।

उदाहरण के लिए -

मान लीजिए हमारे पास 'entries.txt' फ़ाइल है। लाइन सेपरेटर '\r\n' है, और लाइन के बाद ही ITEM2 | CLASS3 | DATE2 विभाजक '\n' है:

COL1  | COL2   | COL3
ITEM1 | CLASS1 | DATE1
ITEM2 | CLASS3 | DATE2
ITEM3 | CLASS1 | DATE3
ITEM4 | CLASS2 | DATE4

टेबल स्टेटमेंट बनाएं:

CREATE TABLE entries(
  column1 VARCHAR(255) DEFAULT NULL,
  column2 VARCHAR(255) DEFAULT NULL,
  column3 VARCHAR(255) DEFAULT NULL
)

हमारी लोड डेटा INFILE क्वेरी:

LOAD DATA INFILE 'entries.txt' INTO TABLE entries
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(column1, column2, @var)
SET column3 = TRIM(TRAILING '\r' FROM @var);

परिणाम दिखाएं:

SELECT * FROM entries;
+---------+----------+---------+
| column1 | column2  | column3 |
+---------+----------+---------+
| ITEM1   |  CLASS1  |  DATE1  |
| ITEM2   |  CLASS3  |  DATE2  |
| ITEM3   |  CLASS1  |  DATE3  |
| ITEM4   |  CLASS2  |  DATE4  |
+---------+----------+---------+


  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. स्ट्रिंग डेटा, दायां छोटा किया गया:1406 डेटा कॉलम के लिए बहुत लंबा है

  3. MYSQL अगर कथन प्रश्न

  4. SQLAlchemy:शामिल होने के साथ कैसे हटाएं

  5. लारवेल लेफ्टजॉइन जहां