簡體   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