MySQL LOAD DATA INFILE: działa, ale nieprzewidywalny terminator linii
MySQL ma ładną funkcję importu CSVLOAD DATA INFILE
.
Mam duży zestaw danych, który należy regularnie importować z CSV, więc ta funkcja jest dokładnie tym, czego potrzebuję. Mam działający skrypt, który doskonale importuje moje dane.
..... z wyjątkiem .... Nie wiem z góry, jaki będzie terminator końca linii.
Mój kod SQL wygląda obecnie tak:
LOAD DATA INFILE '{fileName}'
INTO TABLE {importTable}
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
( {fieldList} );
Działa to doskonale w przypadku niektórych plików importu.
Jednak dane importowane pochodzą z wielu źródeł. Niektóre z nich mają\n
terminator; inni mają\r\n
. Nie mogę przewidzieć, który będę miał.
Czy jest jakiś sposób wykorzystaniaLOAD DATA INFILE
aby określić, że moje linie mogą zostać zakończone jednym z nich\n
lub\r\n
? Jak sobie z tym poradzić?