今天在入MySQL库一个时间值时发现报了jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect datetime value: '2046-11-24 16:44:49.866' for column 'END_TIME' at row 1的异常。
然后在网上搜索到的解决办法基本有这两类:引用的connection包版本不匹配、日期格式不对。
尝试过后并不是这两种情况引起的。经过定位,发现问题很简单,出在MySQL表中的该时间字段的格式为timestamp。
timestamp在mysql中默认范围值时1970-01-01 00:00:01’ UTC 至’2038-01-19 03:14:07’ UTC。而异常时间已超过这个范围,所以会报异常。
至于为什么是这个范围值,网上有很多介绍文档,及解决方案,请查阅。
博客讲述在向MySQL库插入时间值时,出现MysqlDataTruncation异常。网上常见解决办法(包版本不匹配、日期格式不对)无效,经定位发现是表中时间字段格式为timestamp,其默认范围是1970 - 2038年,异常时间超出此范围导致报错。
765

被折叠的 条评论
为什么被折叠?



