加载文件内容时带有反斜杠

时间:2019-07-15 13:26:46

标签: mysql

我在执行加载文件时遇到问题,其中文件的内容具有ip地址,

在文件旁边

  

[10] 19年8月8日星期一00:10:05-(8457737)文件"D:\a\b\c\file.zip"

加载文件后,反斜杠将被删除

  

[10] 19年8月8日星期一00:10:05-(8457737)文件"D:abcfile.zip"

但无济于事,

我想知道如何解决这个问题

提前感谢

通过stackoverflow,dbjournal和论坛进行搜索

我尝试了以下

FIELDS TERMINATED BY ''
ENCLOSED BY '' 
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n' 

FIELDS TERMINATED BY ' '
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES

1 个答案:

答案 0 :(得分:0)

您需要使用FIELDS ESCAPED BY ''来完全关闭转义符。例如:

FIELDS TERMINATED BY ''
ENCLOSED BY '' 
ESCAPED BY ''
LINES TERMINATED BY '\r\n' 

FIELDS ESCAPED BY '\\'的含义是将输入文件中的反斜杠解释为转义字符(以转义以下字符)。

所以输入

  

D:\ a \ b \ c \ file.zip

将被读为“ D”,后跟冒号,后跟转义的“ a”(仅是a),转义的“ b”,依此类推。如果您有一个反斜杠,后跟一个“ t”,那么它将被视为受保护的制表符。但是没有与\a关联的特殊字符,因此在这种情况下,您只会得到'a'。

通过使用FIELDS ESCAPED BY '',您告诉文件阅读器没有转义字符。设置好该值后,反斜杠便会作为反斜杠读取(并保留)。

如果需要反斜杠,并且还需要对其他特殊字符进行转义,则可以选择要选择的字符作为转义符,以供服务器使用。在输入数据本身中并没有显示太多的东西(或者也必须将其转义)。我猜想这种用法非常少见。一个要么需要转义字符并使用反斜杠作为转义字符(转义实际需要的任何反斜杠),要么一个就完全关闭了转义。