Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 報錯
如果報錯 Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 是因為 jdbc默認最小時間 為 0001-01-01 00:00:00 所以轉換為 sql timestamp 失敗 解決辦法 在連接數據庫的url中加入&zeroDateTimeBehavior=convertToNull 類似 jdbc:mysql:///seckill?useUnicode=true&zeroDateTimeBehavior=convertToNull&characterEncoding=utf-8
2017-06-17
如在測試queryByIdWithSeckill()方法的時候遇到了:
Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp錯誤,
那是因為:SuccessKilled表在創建的時候,有create_time字段(屬性為timestamp),但并沒有給該字段設定默認值。后插入數據時,create_time字段的值就變成了:0000-00-00 00:00:00.?
"0000-00-00 00:00:00" 在MySQL中是作為一個特殊值存在的,但 java.sql.Date 將其視為不合法的值,格式不正確。
解決辦法:?
方法一:jdbc的url后面,追加上參數:
?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
方法二:給timestamp字段加上默認值
如以當前時間作為默認值,這樣就不會是"0000-00-00 00:00:00"了。
2019-10-05
為什么我賦了默認值這個字段還是null
2018-10-31
請問大佬,我在后臺怎么給時間字段賦值為當前時間呢,試過很多都沒解決,求幫助。