2016-09-16 64 views
0

我有CSV文件看起來:LOAD DATA INFILE不進口日期時間

0,00018332,2016-08-29 00:00:00,2016-08-29 00:00:00,9999, 00000250,1971-01-01 00:00:00,1971-01-01 00:00:00,218335,僅銷售零件,9999

然後,我有PHP腳本這是導入此CSV到表

$fieldseparator = ","; 
$lineseparator = "\n"; 
$csvfile = "test.csv"; 
$dbtable = "res"; 

$affectedRows = $pdo->exec(" 
LOAD DATA LOCAL INFILE ".$pdo->quote($csvfile)." INTO TABLE `$dbtable` 
FIELDS TERMINATED BY ".$pdo->quote($fieldseparator)." 
LINES TERMINATED BY ".$pdo->quote($lineseparator)); 

但是,當我回籤,以dB標籤le,值2016-08-29 00:00:00(列是日期時間)是0000-00-00 00:00:00,218335和9999設置爲0事件列設置爲int(11)。其他一切都是正確書寫。我嘗試過使用csv和txt,並且遇到同樣的問題。

你知道爲什麼嗎?

編輯:

CREATE TABLE `res` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`name` text, 
`start` datetime DEFAULT NULL, 
`end` datetime DEFAULT NULL, 
`room_id` int(11) DEFAULT NULL, 
`status` varchar(30) DEFAULT NULL, 
`paid` int(11) DEFAULT NULL, 
`customer` varchar(50) DEFAULT NULL, 
`name_ship` varchar(50) DEFAULT NULL, 
`equipment` text, 
`port` varchar(30) DEFAULT NULL, 
`ETA` datetime DEFAULT NULL, 
`ETD` datetime DEFAULT NULL, 
`service_id` int(11) NOT NULL, 
`service_classification` varchar(30) DEFAULT NULL, 
`partners_id` int(10) DEFAULT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=5392 DEFAULT CHARSET=latin1 
+0

向我們展示什麼表看起來像(CREATE TABLE語句)。 – CBroe

+0

PRIMARY KEY('id') )ENGINE = InnoDB的AUTO_INCREMENT = 5392默認字符集= LATIN1 – Burco

+0

這很難在評論閱讀,請編輯成問題。 – CBroe

回答

2

你的文件編碼爲utf16,mysql不會自行檢查。要麼改變你的數據源(因爲你的表編碼表明你不想使用utf16字符串),或者通知mysql文件的編碼。

爲您的文件,下面應該工作:

LOAD DATA LOCAL INFILE 'test.csv' INTO TABLE res 
CHARACTER SET utf16le 
FIELDS TERMINATED BY ';\0' 
LINES TERMINATED BY '\r\0\n\0'; 

它集文件的字符集,並定義爲Unicode的分隔符。您也可以使用'\n\0'

+0

謝謝,這是行得通的!所以總是添加字符集 – Burco

0


爲什麼不執行:顯示警告在MySQL cmd,然後看看有什麼確切的錯誤。
https://dev.mysql.com/doc/refman/5.5/en/show-warnings.html

+0

沒有錯誤信息。導入成功。 – Burco

+0

試試這個:LOAD DATA LOCAL INFILE'test.csv'INTO TABLE res FIELDS TERMINATED BY','LINES TERMINATED BY'\ n'(id,name,start,end,room_id,status,paid,customer,name_ship,equipment,端口,ETA,ETD,service_id,service_classification,partners_id) – ahammar

+0

你能發給我你的csv文件嗎,我用你的例子測試過,它工作正常 – ahammar