java.sql.SQLException: Zero date value prohibited 报错分析

今天在使用 iReview 复习词条时,发现 review 页面始终不会跳到下一个词条,应该是前台或者后台出现 BUG 了。

查看浏览器控制台,看到 500 报错,那应该是后台的问题。

登录后台,先查看 tomcat 日志

cd usr/local/tomcat/logs
cat catalina.out

果然有报错,如下:

 Forwarding to error page from request [/api/items/libraries/8] due to exception [Error attempting to get column 'last_datetime' from result set.  Cause: java.sql.SQLException: Zero date value prohibited
; Zero date value prohibited; nested exception is java.sql.SQLException: Zero date value prohibited]

第一次遇到 java.sql.SQLException: Zero date value prohibited 的报错,那究竟是什么回事?

从报错信息看,应该是 MyBatis 取字段 'last_datetime' 数据的时候触发的。

经过网上搜索,了解到前人发现这问题是由于时间字段值设成 '0000-00-00 00-00-00' 。

然后赶紧查看 MySQL 的数据,果然发现有部分词条的 'last_datetime' 值设成了 '0000-00-00 00-00-00' ,改过来后运行正常。

 

posted @ 2019-04-18 09:03  lipohong  阅读(1208)  评论(0编辑  收藏  举报