首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据加载到MySQL:如何处理反斜杠?

问将数据加载到MySQL:如何处理反斜杠?
EN

Stack Overflow用户
提问于 2013-03-28 22:21:45
回答 1查看 7.8K关注 0票数 5

我从一个众所周知的来源下载了一个以制表符分隔的文件,现在希望将其上载到一个MySQL表中。我正在使用load data local infile来做这件事。

这个拥有1000多万条记录的数据文件也有许多反斜杠的不幸。

代码语言:javascript
复制
$ grep '\\' tabd_file.txt | wc -l
223212

这些反斜杠不是问题,除非它们出现在字段的末尾。MySQL将反斜杠解释为转义字符,当反斜杠出现在字段末尾时,它会弄乱下一个字段,或者可能是下一行。

尽管有这些反斜杠,但在将其加载到表中时,我只收到了6个来自MySQL的警告。在这些警告中,每一行都没有正确的列数,因为反斜杠连接了同一行中的两个相邻字段。

我的问题是,如何处理这些反斜杠?我是否应该指定load data local infile [...] escaped by ''来删除它们中的任何特殊含义?或者这会产生意想不到的后果吗?在这个数据文件中,我想不出转义序列的一个重要用途。终止字段的实际制表符是“物理制表符”,而不是"\t“序列。

或者,从我的load命令中删除转义字符是不好的做法吗?我应该用'\\'替换文件中的每个'\'实例吗?

感谢您的建议:-)

EN

回答 1

Stack Overflow用户

发布于 2013-03-28 23:00:42

如果你不需要转义,那么一定要使用'‘进行转义。

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

如果按字符转义的字段为空,则不会进行转义序列解释。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15684286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档