Excel 日期无法转换为所需格式

Excel dates cannot be converted to desired format

我正在尝试使用以下方法将 .csv 文件中的数据导入 MySQL:

LOAD DATA LOW_PRIORITY LOCAL INFILE 'file_path_here' 
REPLACE INTO TABLE `pitch_data` 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(id,AT_BAT_NUMBER,etc.,...,ZONE)
SET GAME_DATE = STR_TO_DATE(@GAME_DATE, '%m/%d/%Y')
;

但是 GAME_DATE 从 MM/DD/YYYY(在 .csv 文件中)到所需格式的转换,YYYY-MM-DD 没有发生(我收到“错误代码: 1292. 日期值不正确:第 1 行 'GAME_DATE' 列的 '10/30/2019' 消息)。

我曾尝试在 .xlsx 文件中手动更改 GAME_DATE 列的格式以保存并复制到 .csv 文件,但即使在 .xlsx 文件中我也无法更改格式。奇怪的是,当我 select “格式单元格”选项时,它表明数据已经采用 YYYY-MM-DD 格式,但它们在眼睛中显示为 MM/DD/YYYY。我尝试过使用“文本到列”向导的类似方法,但没有成功。

如有任何帮助,我们将不胜感激!

添加来自评论的代码:

当然可以。这是 .csv 的子集:

id AT_BAT_NUMBER GAME_DATE 
1  79            10/30/2019 
2  79            10/30/2019

和SQL代码:

LOAD DATA LOW_PRIORITY LOCAL INFILE 'FILE_PATH_TO_CSV' 
REPLACE INTO 
TABLE pitch_data 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES 
(id,AT_BAT_NUMBER,GAME_DATE) 
SET GAME_DATE = STR_TO_DATE(@GAME_DATE, '%m/%d/%Y') 

你必须先像这样设置用户定义的变量

LOAD DATA LOW_PRIORITY LOCAL INFILE 'FILE_PATH_TO_CSV' 
REPLACE INTO 
TABLE pitch_data 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 LINES 
(id,AT_BAT_NUMBER,@GAME_DATE) 
SET GAME_DATE = STR_TO_DATE(@GAME_DATE, '%m/%d/%Y')