LOAD DATA INFILE
| で区切られた 20 個の .dat ファイルを MySQL テーブルにインポートするために使用しています。しかし、いくつかの | フィールド ターミネータはバックスラッシュでエスケープされます。以下の 2 番目のフィールドは例です。
1001604|EMERITUS CORP\WA\|SC 13G|1996-02-13|edgar/data/1001604/0000728757-96-000006.txt
1001604|EMERITUS CORP\WA\|SC 13G|1996-02-14|edgar/data/1001604/0000903949-96-000038.txt
DATE
最後のフィールドが、最後から 2 番目のフィールドに対して宣言された型と競合するため、エラーが発生します。.dat ファイルを開いてエスケープをエスケープすることはできますが、より良い方法はありますか?
ストリーム エディターを使用してすべてのバックスラッシュを 2 つにすることもできますが、これはお勧めできません。FIELDS ESCAPED BY
オプションを「\」以外に安全に変更できますか、それとも悪い考えですか? ありがとう!
これが私のLOAD DATA INFILE
コマンドです:
LOAD DATA INFILE 'C:/users/richard/research/data/edgar/masterfiles/master_1996.dat'
INTO TABLE edgar.master
FIELDS TERMINATED BY '|'
IGNORE 1 LINES;