从csv文件以MySQL数据库中的DATE格式导入日期

时间:2018-08-21 05:33:02

标签: mysql csv date import converter

我有一个要从中创建数据库的csv文件。现在,除了现在存储在VARCHAR列中的日期之外,其他所有东西都可以正常工作。

是否有可能使日期从phpMyAdmin导入时存储在DATE列中? csv看起来像这样:

Date,HomeTeam,AwayTeam,FTHG,FTAG,FTR,HTHG,HTAG,HTR
29-09-2017,Excelsior,Vitesse,0,3,A,0,1,A
30-09-2017,Heracles,Feyenoord,2,4,A,0,3,A
30-09-2017,Willem II,Den Haag,1,2,A,0,1,A

1 个答案:

答案 0 :(得分:0)

您可以使用LOAD DATA并内联调用STR_TO_DATE来即时转换字符串日期:

LOAD DATA LOCAL INFILE 'yourfile.csv'
INTO TABLE yourTable
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n' 
(@Date, HomeTeam, AwayTeam, FTHG, FTAG, FTR, HTHG, HTAG, HTR)
SET Date = STR_TO_DATE(@Date, '%d/%m/%Y');

顺便说一句,通过将日期信息存储为实际日期而不是文本,您绝对可以做出正确的设计决策。将日期存储为文本会在以后实际使用数据库表时打开问题之门。