往数据库插入时间报错,Data truncation: Incorrect datetime value: ‘xxx’ for column ‘xxx’ at row 1

小王子 1.3K 0

问题

在执行数据库插入操作的时候遇到这样子的报错

往数据库插入时间报错,Data truncation: Incorrect datetime value: 'xxx' for column 'xxx' at row 1

分析

通过报错可以看出这问题是向数据库插入时间引起的,查看日志发现前端传入的时候数据还是好好的,而到了SQL执行语句的时候,格式就变了。

往数据库插入时间报错,Data truncation: Incorrect datetime value: 'xxx' for column 'xxx' at row 1

解决

百度了很久,有人说mysql-connector-java版本太老,但我觉得并不太符合我现在遇到的问题。

然后经过我反复校验代码,最终发现是由于粗心导致的。

往数据库插入时间报错,Data truncation: Incorrect datetime value: 'xxx' for column 'xxx' at row 1

由于粗心大意,检查的时候也主要检查注解格式化等内容,万万没想到是实体的类型问题。

往数据库插入时间报错,Data truncation: Incorrect datetime value: 'xxx' for column 'xxx' at row 1

把类型修改成Date,顺利解决!

总结

有时候一个报错能够卡住一天,我们可能在网上找了很多答案也不能解决。

这时候,可以尝试着去看看有没有可能马虎大意漏了或者弄错了某个地方。也许只是一个空格,一个字符,都能引起一些“莫名其妙”的报错。

而这个报错也花费了我小半天时间,太难受了

发表评论 取消回复
表情 图片 链接 代码

分享