time_zone導致的 數據插入失敗問題
- 2019 年 10 月 4 日
- 筆記
時區導致的一個數據插入失敗的案例:
直接看我貼圖,嚴格的sql_mode模式,時區和伺服器時區一致(東八區)

創建一個帶有timestamp格式的欄位的表tt,往裡插入一條記錄。可以看到第一條記錄插入失敗。而從8點之後的插入都能成功。

修改時區為格林威治時區。再次執行插入操作:

可以看到插入成功了。
注意:
現在datetime格式也支援自動更新,且只佔據5bytes長度(timestamp佔據4bytes),但是datetime支援的時間範圍更廣泛。因此推薦使用datetime格式的欄位類型。