MySQL имеет приятную функцию импорта CSV LOAD DATA INFILE
.
У меня есть большой набор данных, который необходимо импортировать из CSV на регулярной основе, поэтому эта функция именно то, что мне нужно. У меня есть рабочий script, который отлично импортирует мои данные.
..... кроме.... Я заранее не знаю, что такое терминатор конца строки.
В настоящее время мой код SQL выглядит примерно так:
LOAD DATA INFILE '{fileName}'
INTO TABLE {importTable}
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
( {fieldList} );
Это отлично работает для некоторых файлов импорта.
Однако данные импорта поступают из нескольких источников. Некоторые из них имеют терминатор \n
; другие имеют \r\n
. Я не могу предсказать, какой из них у меня будет.
Есть ли способ использовать LOAD DATA INFILE
, чтобы указать, что мои строки могут быть завершены либо с помощью \n
, либо \r\n
? Как я могу справиться с этим?