2017-02-19 262 views
1

嘗試使用mysql工作臺Table Data Import Wizard將數據從csv導入到Mysql數據庫。 csv包含格式爲dd/mm/yyyy hh:mm:ss的數據時間字段(例如,28/01/2017 10:55:00 PM)。 如果我按默認設置轉到,工作臺將日期時間視爲「TEXT」數據類型併成功導入數據。但是,如果我將數據類型更改爲'DATETIME',則導入將以'0記錄導入'結束。MySql Workbench csv將日期時間DATATYPE導入爲TEXT

回答

0

日期格式dd/mm/yyyy不是標準,因此MySQL是把它當作文本。並迫使它加載日期時間這樣的數據也是錯誤的。

這個問題是與STR_TO_DATE()函數的日期字符串轉換成合適的日期以及適合於LOAD DATA

LOAD DATA INFILE 'input.csv' 
INTO TABLE t1 
FIELDS TERMINATED BY ',' 
(column1, @var1, column3, ...) 
SET column2 = STR_TO_DATE(@var1,'%d/%m/%Y %h:%i:%s %p') 

如果CSV文件中的第二列包含日期數據的上述LOAD DATA將是適當的。如果不是,那麼只需重新排列它,以便正確的列被解析。