我正在使用 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;
最佳答案
将 ESCAPED BY ''
添加到我的 FIELDS
子句中可以使查询无误地完成。如果我发现这导致了静默失败,我会更新。
关于mysql - 使用 MySQL 的 LOAD DATA INFILE 处理转义字段分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12394317/