在mysql错误中加载数据infile

Posted

技术标签:

【中文标题】在mysql错误中加载数据infile【英文标题】:load data infile in mysql error 【发布时间】:2013-10-02 07:43:23 【问题描述】:

我想对下一行有一些疑问。我想阅读一个带有文本限定符的分隔文本

LOAD DATA INFILE 'D:/teszt2.txt' into table hamburger
    Fields terminated by ',' 
    Enclosed by '"'
    lines terminated by '\n'

文件是这样的

"650000",",103","DS SMITH RECYCLING GMBH","83064 RAUBLING, KUFSTEINER STR。 27",

我首先制作了列和表格,我想将整个大文本读入其中。所有的列都是 varchar(45) 类型 但我得到一个错误:

Error Code: 1366. Incorrect string value: '\xC1NIA S...' for column 'szallito_nev' at row 1 0.000 sec

最好的问候

【问题讨论】:

哪一列是 szallito_nev。你能发布表格布局吗?也是你发布的整条线的内容吗? 这是“DS SMITH RECYCLING GMBH”的第 3 列,它很难发布它,因为它包含 70 列,但一开始它们都是 varchar。基本上 txt 中有一个 hedaer 行,但我把它们切断了,在我从标题标题中制作了列之后 嗯。这似乎与味精不一致。它抱怨带有“'\xC1NIA S...”的字符串。十六进制 C1 是带有重音符号的 A,因此认为这可以视为特殊的“坏”字符。你能在你的输入中搜索字符串“NIA S”(没有\xC1),看看你是否有这样的行吗?然后尝试将“\xC1”更改为“A”,看看它是否加载了记录。 是的,还有几行包含这些单词,我应该改变什么?因为我不太明白:S "3500000",",137","HAMBURGER RECYCLING ROMÁNIA SRL" 现在我发现了问题所在!我必须将源文件转换为 unicode 8,因为它是 ASCII 之前和之后它运行顺利! 【参考方案1】:

我在第二列中看到一个不成对的双引号 (")。可能将其余行作为字符串。

"650000",",103","DS SMITH RECYCLING GMBH","83064 RAUBLING, KUFSTEINER STR. 27",
         ^

应该是

"650000","",103","DS SMITH RECYCLING GMBH","83064 RAUBLING, KUFSTEINER STR. 27",

【讨论】:

第二列的一部分是 0,103,但是当数据来自服务器时,它们会像这样显示,这就是为什么它的 ,103 可能是问题所在? 我明白你说的。那么不,不要相信这是问题所在。再次查看您的答案,我发现字符串是正确的,只是看起来很有趣。将继续寻找,看看我能想出什么。对不起!

以上是关于在mysql错误中加载数据infile的主要内容,如果未能解决你的问题,请参考以下文章

验证插件 'mysql_clear_password' 无法在 Navicat 中加载

请问下eclipse中加载进来的项目src报错怎么解决,求大神帮帮忙,还有jsp项目也是错误的

从mysql的片段中加载ListView

Python Mysql 在文件中加载数据

带有数据库(mysql)的PHP在本地主机中加载太慢[关闭]

arcmap打开属性表的时候出现:“不能从数据源中加载数据,如果你能改正错误,按刷新按钮重新加载数据