2011-05-24 160 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;