当我尝试将 CSV 文件导入 MySQL 时,所有日期都变为 0000-00-00
。
CSV 日期格式为 DD/MM/YYYY
,例如 16/11/2016。
MySQL 格式为:YYYY/MM/DD
。我正在使用 phpmyadmin 导入它。如何解决这个日期传输问题?
最佳答案
格式DD/MM/YYYY
在MySQL中不是有效的日期。您可以使用LOAD DATA
和STR_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 文件中读取的第三列是麻烦的日期。这里的技巧是每个日期字符串都会即时映射到有效的日期类型,从而得到您想要的结果。
关于mysql - CSV 日期格式转换为 MySQL 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45072295/