Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQL'处理转义字段分隔符;s加载数据填充_Mysql_Escaping_Load Data Infile - Fatal编程技术网

使用MySQL'处理转义字段分隔符;s加载数据填充

使用MySQL'处理转义字段分隔符;s加载数据填充,mysql,escaping,load-data-infile,Mysql,Escaping,Load Data Infile,我使用LOAD DATA infle将二十个|分隔的.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

我使用
LOAD DATA infle
将二十个|分隔的.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文件并逃逸,但是有更好的方法吗

我可以使用流编辑器将所有反斜杠加倍,但这似乎是个坏主意。我是否可以安全地将选项转义的
字段更改为“\”以外的内容,或者这是一个坏主意?谢谢

这是我的
加载数据填充
命令:

LOAD DATA INFILE 'C:/users/richard/research/data/edgar/masterfiles/master_1996.dat'
    INTO TABLE edgar.master
    FIELDS TERMINATED BY '|'
    IGNORE 1 LINES;
将“
转义的
添加到my
FIELDS
子句中,可以无误地完成查询。如果我发现这导致了静默失败,我将进行更新。

将“
转义的
添加到我的
字段
子句允许查询无误地完成。如果我发现这导致了静默失败,我将进行更新。

通过“
转义是一个不错的解决方案,但它有效地禁用了转义,从而干扰了MySQL的内置特殊字符,例如用于插入NULL的
\N
。另一种方法是对正在加载的文本进行双重转义,例如,
EMERITUS CORP\\WA\\…
通过“
转义是一种很好的解决方案,但它有效地禁用了转义,从而干扰了MySQL的内置特殊字符,例如用于插入NULL的
\N
。另一种方法是双重转义正在加载的文本,例如,
EMERITUS CORP\\WA\\\…