2011-05-24 77 views
1

我有一个看起来像一个数据文件:MySql的导入CSV空间问题

001,000,D,Bla bla bla 

我将其导入到一个MySQL数据库与下面的代码:

LOAD DATA LOCAL 
    INFILE 'D:\test.dat' 
    INTO TABLE typen 
    FIELDS TERMINATED BY ',' 
    IGNORE 1 LINES; 

我为每一个行警告:

Warning | 1265 | Data truncated for column 'typ1' at row 1 

当我看表中的内容时,每个字符之间都有一个空格。它看起来像这样:

0 0 1 | 0 0 0 | D | B l a b l a b l a 

我错过了什么吗?

+0

是文件8位,或者一些可怕的Unicode格式? – 2011-05-24 10:23:34

+0

做的每个csv内容的类型匹配mysql表的相应字段类型? – krifur 2011-05-24 10:28:24

+0

我不知道文件的格式,但可能有问题。表格中的字段大小为3,3,1,256,但由于多余的空格,csv内容不适合。 – dbrettschneider 2011-05-24 10:41:25

回答

1

问题是文件的编码。我没有找到这个文件的正确的编码,所以我在记事本打开它++改变了编码为utf8和使用follwing代码:

LOAD DATA LOCAL 
    INFILE 'D:\test.dat' 
    INTO TABLE typen 
    CHARACTER SET 'utf8' 
    FIELDS TERMINATED BY ',' 
    IGNORE 1 LINES;