MySQL LOAD DATA INFILE: funciona, mas terminador de linha imprevisível
O MySQL tem uma boa função de importação de CSVLOAD DATA INFILE
.
Eu tenho um grande conjunto de dados que precisa ser importado do CSV regularmente, então esse recurso é exatamente o que eu preciso. Eu tenho um script de trabalho que importa meus dados perfeitamente.
..... exceto ... Eu não sei de antemão qual será o terminador de fim de linha.
Meu código SQL atualmente é algo como isto:
LOAD DATA INFILE '{fileName}'
INTO TABLE {importTable}
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
( {fieldList} );
Isso funciona muito bem para alguns arquivos de importação.
No entanto, os dados de importação são provenientes de várias fontes. Alguns deles têm\n
o Exterminador do Futuro; outros têm\r\n
. Eu não posso prever qual eu vou ter.
Existe uma maneira de usarLOAD DATA INFILE
para especificar que minhas linhas podem ser terminadas com\n
ou\r\n
? Como eu lido com isso?