我从一个知名来源下载了一个制表符分隔的文件,现在想将它上传到 MySQL 表中。我正在使用load data local infile
.
这个拥有超过 1000 万条记录的数据文件也有很多反斜杠的不幸。
$ grep '\\' tabd_file.txt | wc -l
223212
这些反斜杠不是问题,除非它们出现在字段的末尾。MySQL 将反斜杠解释为转义字符,当它出现在字段末尾时,它会弄乱下一个字段,或者可能是下一行。
尽管有这些反斜杠,但在将 MySQL 加载到表中时,我只收到了 6 个警告。在这些警告中的每一个中,一行都没有正确的列数,因为反斜杠连接了同一行中的两个相邻字段。
我的问题是,如何处理这些反斜杠?我应该指定load data local infile [...] escaped by ''
从它们中删除任何特殊含义吗?或者这会产生意想不到的后果吗?我想不出这个数据文件中转义序列的一个重要用途。终止字段的实际选项卡是“物理选项卡”,而不是“\t”序列。
或者,从我的加载命令中删除转义字符是不好的做法?'\'
我应该用 替换文件中的每个实例'\\'
吗?
感谢您的任何建议:-)