mysql - 使用 MySQL 的 LOAD DATA INFILE 处理转义字段分隔符

标签 mysql escaping load-data-infile

我正在使用 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/

相关文章:

php - 使用 PHP 两个 MySQL 时间变量之间的减法

php - 将 PHP 应用程序与 MySQL Fabric 连接(使用 php 感知连接器)

php - 这段代码中的 "mysql_real_escape_string"应该放在哪里?

mysql - 在 sql 中导入 csv 文件时出现 secure-file-priv 错误

php - 使用 PHP 时出现错误 : "Duplicate entry ' 0' for key ' PRIMARY'"in MySql,

mysql - 使用sails-mysql测试Sails Js和Mysql

css - 两层引号的Rails转义字符

html -> 有必要吗?

mysql - 加载数据Infile语句

MySql、LOAD DATA 或 BATCH INSERT 或任何其他更好的批量插入方式