首頁 > 資料庫 > mysql教程 > 為什麼我會收到 MySQL 錯誤 1067:「created_at」的預設值無效?

為什麼我會收到 MySQL 錯誤 1067:「created_at」的預設值無效?

Patricia Arquette
發布: 2024-12-04 08:40:11
原創
836 人瀏覽過

Why Am I Getting MySQL ERROR 1067: Invalid Default Value for 'created_at'?

MySQL 錯誤1067 故障排除:新增欄位時「created_at」的預設值無效

嘗試透過新增欄位來變更表格列可能會導致錯誤「ERROR 1067 (42000): 「created_at」的預設值無效。設定所引起的。 :00」儲存在created_at和updated_at列。

解決方案:

要解決該錯誤,請刪除sql_modes設定中的「NO_ZERO_IN_DATE」和「NO_ZERO_DATE」模式。

驗證目前sql_modes:

刪除違規模式:
  1. 刪除違規模式:

    刪除違規模式:
    show variables like 'sql_mode' ; 
    登入後複製
  2. 暫時停用目前模式會話:

    • 永久設定全域模式:

      SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
      登入後複製
    • SET GLOBAL sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
      登入後複製
    • 重新嘗試添加列:
  3. 注意:
    ALTER TABLE investments ADD bank TEXT;
    登入後複製
較新版本的MySQL 中的預設 sql_mode 包括“NO_ZERO_IN_DATE”和“NO_ZERO_DATE” “模式。因此,定期檢查 sql_modes 設定並在遇到此錯誤時進行必要的調整非常重要。

以上是為什麼我會收到 MySQL 錯誤 1067:「created_at」的預設值無效?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板