如何在批量插入之前将.csv文件中的日期转换为SQL格式

cfr*_*ich 5 mysql sql load-data-infile

我有一个csv文件,里面有几千个游戏日期,但它们都是MM/DD/YYYY格式

2/27/2011,3:05 PM,26,14
Run Code Online (Sandbox Code Playgroud)

(26和14是团队ID #s),并尝试将它们放入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`);
Run Code Online (Sandbox Code Playgroud)

但同样,它不会做正确的日期.有没有办法让它在尝试插入日期时转换日期?我发现了另一个与此类似的问题,但我无法让它发挥作用.

Cez*_*Cez 8

您是否尝试过以下方法:

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');
Run Code Online (Sandbox Code Playgroud)

有关更多信息,文档包含有关使用LOAD DATA用户变量的详细信息(大约一半 - 在页面中搜索"SET子句中的用户变量")