mySql导入中的escape char问题

时间:2014-02-14 13:55:08

标签: php mysql csv import

我有一个小问题,将csv文件导入mysql。 我使用带有loaddata的csv文件作为导入。

csv文件供应商选择使用的转义字符:¤ 导入csv文件时我尝试输入的内容最终出现此错误:

LOAD DATA LOCAL INFILE 'C:\\xampp\\tmp\\php1E14.tmp' INTO TABLE `TableName` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\¤' LINES TERMINATED BY '\r\n' 

MySQL返回:文档

#1083 - Field separator argument is not what is expected; check the manual 

有关如何解决此问题的任何想法,请不要让供应商使用其他转义字符。

1 个答案:

答案 0 :(得分:0)

为什么要使用文字反斜杠为转义字符添加前缀?实际上,如LOAD DATA INFILE Syntax所述:

  

如果不为空,则FIELDS [OPTIONALLY] ENCLOSED BYFIELDS ESCAPED BY值必须是单个字符。

因此:

LOAD DATA LOCAL INFILE 'C:\\xampp\\tmp\\php1E14.tmp'
    INTO TABLE `TableName`
    FIELDS
        TERMINATED BY ';'
        ENCLOSED BY '"'
        ESCAPED BY '¤'
    LINES
        TERMINATED BY '\r\n'