iT邦幫忙

0

Mysql 的問題

昌昌 1 周前1965 瀏覽

最近常常出現以下這個問題

Incorrect datetime value: '2017-08-07 11:11:03 +0800' for column 'updated_at' at row 1

請問如何解決

看更多先前的討論...收起先前的討論...
小魚 iT邦新手 3 級 ‧ 1 周前 檢舉
你的SQL語法有問題吧...
昌昌 iT邦新手 5 級 ‧ 1 周前 檢舉
to 小魚
後來有去問道問題!!

可能是在sql裡用到嚴格模式的關係
小魚 iT邦新手 3 級 ‧ 1 周前 檢舉
我習慣用字串處理, 比較不會有問題... '2017-08-07 11:11:03'
Samと可樂快跑 iT邦研究生 3 級 ‧ 1 周前 檢舉
如果是用Laravel那個欄位不是Laravel會自動處理嗎?

1 個回答

1
bizpro
iT邦大師 1 級 ‧ 1 周前
最佳解答

MySQL/MariaDB 的DATETIME不支援time zone! 因此"2017-08-07 11:11:03 +0800"是錯誤的. 如果您的系統有跨時區的需求, 要個別紀錄Timezone和日光節約時間(Daylight Saving Time, DST).
另外, 請不要用timestamp:

  1. timestamp只到2038-01-19 03:14:07 UTC
  2. timestamp紀錄的是UTC時間, 隨著主機設定的timezone而改變.
昌昌 iT邦新手 5 級 ‧ 1 周前 檢舉

了解 感謝大大的解釋

我要發表回答

立即登入回答