我正在将第一个CSV导入MySQL,并注意到CSV中的日期具有格式31-Jan-2011。如何将其转换2011-01-31为DATE数据类型?首先想到的是让PHP进行转换,然后将其插入第二个表中,但我想那是不对的。
31-Jan-2011
2011-01-31
您可以在从CSV文件导入数据的过程中替换格式,例如-
LOAD DATA INFILE 'file_name.csv' INTO TABLE table_name FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (id, column2, column3, @date_time_variable) -- read one of the field to variable SET date_time_column = STR_TO_DATE(@date_time_variable, '%d-%b-%Y'); -- format this date-time variable
它将像“ 31-Jan-2011”这样的字符串格式化为正确的DATETIME数据类型。
这里的更多信息-LOAD DATA INFILE语法。