【发布时间】:2021-01-23 00:44:29
【问题描述】:
我正在尝试使用以下方法将 .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。日期值不正确” : '10/30/2019' for column 'GAME_DATE' at row 1" 消息)。
我尝试在 .xlsx 文件中手动更改 GAME_DATE 列的格式以保存并复制到 .csv 文件,但即使在 .xlsx 文件中我也无法更改格式。奇怪的是,当我选择“格式化单元格”选项时,它表明数据已经采用 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')
【问题讨论】:
-
这应该可以,但您仍然必须提供一个 [mr] 示例 csv 和该示例的完整代码
标签: mysql csv date formatting