将.cvs导入到MySQL数据库时,有些数据没有明显的原因被修改,有什么想法?

问题描述:

因此,我使用phpMyAdmin中的LOAD DATA使用导入CVS,将80000多行.cvs文件展示给MySQL数据库,并且它看起来工作正常,没有错误消息。将.cvs导入到MySQL数据库时,有些数据没有明显的原因被修改,有什么想法?

问题是,在导入时,表格中的所有行,从第24002行开始,在我的数据库字段中有一个相同的编号,并且这个编号甚至不存在于我导入的.cvs文件中。

拿这个作为一个例子:

+-----------+-----------+-----------+ 
|id   |num 1  |num 2  | 
+-----------+-----------+-----------+ 
|1   |03040304 |22222  | 
|2   |03040305 |22223  | 
|3   |03040306 |22224  | 
|...  |...  |...  | 
|24001  |03064304 |46222  | 
|24002  |21777777 |46223  | <- 21777777 doesn't exist in my .cvs file 
|24003  |21777777 |46224  | 
|...  |...  |...  | 
+-----------+-----------+-----------+ 

我尝试不同的东西,但没有任何帮助:

  • 在线路24003
  • 开始导入去掉线24001,距离24002。 cvs文件
  • 从.cvs文件中删除24002首行
  • 导入.cvs f ILE而不LOAD DATA

这是从.cvs文件的示例行:

"SOME NAME";"18/10/2004";"8250";"2157002001";"239423";"Done";"Name SURNAME" 

有不涉及特殊字符,只有A-Z,A-Z和0-9。

我绝对没有线索,这个错误可能来自哪里,有什么想法?

在此先感谢

+0

只是为了澄清:这是一个CSV(逗号分隔值)文件?如果是这样,你可以发布文件中导致问题的一些行。 – Jaydee 2010-09-16 08:54:19

+0

@Jaydee:是的,这是一个逗号分隔值文件,值之间用';'分隔。并用“”括起来。这是一个有问题的行的示例: “SOME NAME”;“18/10/2004”;“8250”;“2157002001”;“239423”;“DONE”;“SAME NAME” There没有涉及特殊字符,这些行与其他行没有问题相似,没有本质区别,只有数字和名称。 – Alex 2010-09-16 09:00:06

+0

如果将问题记录粘贴到其自己的文件中并尝试导入此单记录文件,会发生什么情况? – Quassnoi 2010-09-16 09:38:49

什么是在数据库中的“编号1”字段的定义?它是一个整数,因为int的最大值是2,147,483,647,它小于2,157,002,001。

+0

哦,是的就是这样! “num 1”被设置为整数,不知道有这样的限制。是的,“问题号码”是2147483647.应该在问题中说出来......谢谢! – Alex 2010-09-16 09:56:02