本文的內容依舊是討論mysql字段類型為時間戳timestamp的問題,在遇到了之前的那個問題之后,今天測試人員又給我提了一個bug,是在前端頁面提交會議表單的時候,選擇了一個會議時間(2059年的時間),報了一個錯,服務器直接炸掉了,拋出定制的錯誤信息,然后我瞢逼了一圈,感覺代碼沒有寫錯,數據庫中的字段類型也都是正確的,然后看看拋出的異常信息,是mysql數據庫拋出的異常,提示時間格式有問題,但是看了看,也沒有什么問題。
自己嘗試了一下選擇一個比較正常一點的時間,表單可以正常提交,也沒有什么問題,然后自己在數據庫中把那個錯誤的時間直接保存在數據庫中,mysql提示報錯了,猜想是不是時間的大小有限制。
百度了一個,發現timestamp類型的字段,時間大小真的有限制,並且的限制范圍為:1970-2038年之間,所以前端頁面在選擇時間的時候,把時間選擇在這個范圍之外的時間,mysql數據庫就直接不支持存儲這個時間,所以就報錯了。
坑來坑去,還是采坑了。 |
