今天在入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。而异常时间已超过这个范围,所以会报异常。
至于为什么是这个范围值,网上有很多介绍文档,及解决方案,请查阅。