CSV日期格式为MySQL日期格式

时间:2017-07-13 05:45:03

标签: mysql csv phpmyadmin

当我尝试将我的CSV文件导入MySQL时,所有日期都变为0000-00-00

CSV日期格式为DD/MM/YYYY,就像2016年11月16日一样。

MySQL格式为:YYYY/MM/DD。我正在使用phpmyadmin导入它。如何解决这个日期转移?

2 个答案:

答案 0 :(得分:0)

我认为,您需要在添加到MYSQL数据库之前更改日期格式。

$old_date = date('dd/mm/yyyy');            
$middle = strtotime($old_date);            
$new_date = date('yyyy/mm/dd', $middle);   

答案 1 :(得分:0)

格式DD/MM/YYYY不是MySQL中的有效日期。您可以使用LOAD DATASTR_TO_DATE将日期字符串解析为MySQL可以识别的实际日期:

LOAD DATA INFILE 'path/to/file.csv'
INTO TABLE yourTable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' 
(
    col1, col2, @var1, col4
)
SET date_col = STR_TO_DATE(@var1, '%d/%m/%Y')

以上假设您的表有4列,而您从CSV文件中读取的第三列是麻烦的日期。这里的技巧是每个日期字符串将被动态映射到有效的日期类型,为您留下您想要的结果。