2016-04-03 17 views
2

Dies ist, was die CSV-Daten wie folgt aussieht:Mysql CSV Import - Probleme mit Last Feld

"COUNTRY_ALPHA2_CODE","COUNTRY_NUMERIC_CODE","COUNTRY_NAME","REGION_CODE","REGION_NAME" 
"AD","020","Andorra","02","Canillo" 
"AD","020","Andorra","03","Encamp" 
"AD","020","Andorra","04","La Massana" 
"AD","020","Andorra","05","Ordino" 

Wenn ich es versuchen, den Import mit dem folgenden Code:

LOAD DATA LOCAL INFILE 'COUNTRIES.CSV' 
INTO TABLE countries 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES; 
select * from countries; 

ich sehr seltsame Verhalten bekommen auf das letzte Feld, als ob es nach dem letzten Feld suchen würde, um ein Komma zu haben.

+-------------------------+---------------------+---------------------+----------------------+ 
| COUNTRY_NAME   | COUNTRY_ALPHA2_CODE | COUNTRY_ALPHA3_CODE | COUNTRY_NUMERIC_CODE | 
+-------------------------+---------------------+---------------------+----------------------+ 
| Afghanistan    | AF     | AFG     | 004" 
"Ant   | 
| Anguilla    | AI     | AIA     | 660" 
"Alb   | 
| Aland Islands   | AX     | ALA     | 248" 
"Aze   | 
| Andorra  

ich Beispiele für CSV-Import sah und die Daten schienen am Ende im gleichen Format ohne ein Komma zu sein. Ich bin mir nicht sicher, wie ich mysql sagen kann, dass das letzte Feld kein Komma haben wird.

+0

Versuch ohne 'ESCAPED BY '"' ' – Yazan

+1

Dies war Teil der Lösung, siehe unten. Vielen Dank! – NicB

Antwort

0

OK, das Spiel mit der "Linie beendet durch" und die "entkam durch" Entfernen tat der Trick:

LOAD DATA LOCAL INFILE 'COUNTRIES.CSV' 
INTO TABLE countries 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES; 

Returns

+-----------------+---------------------+---------------------+----------------------+ 
| COUNTRY_NAME | COUNTRY_ALPHA2_CODE | COUNTRY_ALPHA3_CODE | COUNTRY_NUMERIC_CODE | 
+-----------------+---------------------+---------------------+----------------------+ 
| Aruba   | AW     | ABW     | 533     | 
| Afghanistan  | AF     | AFG     | 004     | 
| Angola   | AO     | AGO     | 024     | 
| Anguilla  | AI     | AIA     | 660     |