1. 程式人生 > >java.sql.SQLException: Zero date value prohibited 報錯分析

java.sql.SQLException: Zero date value prohibited 報錯分析

column pro logs result ava 頁面 由於 登錄 正常

今天在使用 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‘ ,改過來後運行正常。

java.sql.SQLException: Zero date value prohibited 報錯分析