我正在使用LOAD DATA INFILE
将二十个-delimited .dat文件导入MySQL表。但有些|字段终结符使用反斜杠进行转义。下面的第二个字段是一个例子:
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
类型冲突。我可以打开.dat文件并逃脱转义,但是有更好的方法吗?
我可以使用流编辑器将所有反斜杠加倍,但这似乎是一个坏主意。我可以安全地将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;
答案 0 :(得分:4)
将ESCAPED BY ''
添加到我的FIELDS
子句允许查询完成而不会出错。如果我发现这导致了无声的失败,我会更新。