繁体   English   中英

LOAD DATA INFILE - 可选引号和逗号的问题

[英]LOAD DATA INFILE - Problem with optional quotes and commas

我正在使用:

LOAD DATA LOCAL INFILE '$filePath'
     INTO TABLE demo
     FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
     LINES TERMINATED BY '\r\n'

我发现在导入包含 JSON 字符串的单元格的行时遇到了麻烦:

0, demo,"{""Name""=>""demo""}", 29, ...

注意"{""Name""=>""demo""}"部分。

所以我删除了OPTIONALLY ENCLOSED BY '"'并解决了问题。但是现在我在使用值为"Korea, Republic of"的字段时遇到了麻烦

13,"Korea, Republic of",demo,...  

有什么办法可以同时管理这两个案例吗?

注意:输入文件对我来说是外部的,所以我不能“重新构建”它。

如果您将"指定为转义字符,它是否有效?

LOAD DATA LOCAL INFILE '$filePath'
     INTO TABLE demo
     FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"'
     LINES TERMINATED BY '\r\n'

实际上,这似乎与一个特定的文档说明相符:

为避免歧义,字段值中ENCLOSED BY字符的出现次数可以加倍,并被解释为该字符的单个实例。 例如,如果指定了ENCLOSED BY '"' ,引号的处理如下所示:

 "The ""BIG"" boss" -> The "BIG" boss` The "BIG" boss -> The "BIG" boss The ""BIG"" boss -> The ""BIG"" boss

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM