我正在运行
"LOAD DATA FROM S3"
命令将csv文件从s3加载到aurora mysql。如果在MySQL工作台上运行它,命令运行得很好(它给我下面的异常作为警告,但仍然插入日期很好),但是当我在Java中运行时,我得到以下异常:
com.mysql.cj.jdbc.exceptions.MysqlDataTruncation:
Data truncation: Incorrect datetime value: '2018-05-16T00:31:14-07:00'
有解决办法吗?我是否需要在MySQL方面或在我的应用程序中设置一些东西来实现无缝转换?我应该在时间戳上运行replace()命令吗?
更新1:
当我使用replace从原始时间戳(2018-05-16t00:31:14-07:00)中删除“-07:00”时,它会适当地加载数据。这是我的负载声明:
LOAD DATA FROM S3 's3://bucket/object.csv'
REPLACE
INTO TABLE sample
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@myDate)
SET `created-date` = replace(@myDate, '-07:00', ' ');
显然,这不是一个好的解决方案。为什么负载语句在MySQL工作台中工作,而不是在Java代码中工作?我可以设置一些参数使它工作吗?感谢您的帮助!!