我有一个带有几千个游戏日期的csv文件,但它们都是MM / DD / YYYY格式
2/27/2011,3:05 PM,26,14
(26和14是团队ID#),并试图将它们放入SQL中,那样只会导致将0000-00-00放入我表的日期字段中。这是我尝试使用的命令:
LOAD DATA LOCAL INFILE 'c:/scheduletest.csv' INTO TABLE game FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (`date`, `time`, `awayteam_id`, `hometeam_id`);
但同样,它不会正确地安排日期。有什么办法可以让它在尝试插入日期时转换日期?我发现了另一个与此类似的问题,但我无法使其正常工作。
您是否尝试过以下方法:
LOAD DATA LOCAL INFILE 'c:/scheduletest.csv' INTO TABLE game FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (@DATE_STR, `time`, `awayteam_id`, `hometeam_id`) SET `date` = STR_TO_DATE(@DATE_STR, '%c/%e/%Y');
有关更多信息,该文档提供了有关将用户变量与LOAD DATA一起使用的详细信息(大约中途- 在页面中搜索“ SET子句中的用户变量”)