MySQLには優れたCSVインポート機能がありますLOAD DATA INFILE
。
定期的にCSVからインポートする必要がある大きなデータセットがあるので、この機能はまさに私が必要としているものです。データを完全にインポートする動作するスクリプトがあります。
.....例外....行末ターミネータがどうなるかは事前にわかりません。
私の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
?どうすればこれに対処できますか?