首頁 >資料庫 >mysql教程 >為什麼我在 MySQL 中收到「\'create_date\'時間戳欄位的預設值無效」錯誤?

為什麼我在 MySQL 中收到「\'create_date\'時間戳欄位的預設值無效」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-10-26 22:19:02939瀏覽

Why Am I Getting

“create_date”時間戳字段的預設值無效

建立帶有時間戳列的表並指定預設值“0000-”時00-00 00:00:00',可能會出現錯誤,指示「'create_date'的預設值無效」。這個錯誤是由 MySQL 的 SQL 模式 - NO_ZERO_DATE 所造成的。

根據 MySQL 參考手冊,NO_ZERO_DATE 會阻止在嚴格模式下插入 '0000-00-00' 作為有效日期。在本例中,「create_date」欄位被定義為時間戳記並指派了預設值「0000-00-00 00:00:00」。但是,SQL 模式 - NO_ZERO_DATE 禁止此類值。

要解決此錯誤,請考慮以下選項:

  • 在建立之前使用 SET sql_mode="" 指令停用 SQL 模式 - NO_ZERO_DATE表。
  • 為「create_date」欄位使用非「0000-00-00 00:00:00」的不同預設值,例如「CURRENT_TIMESTAMP」。
  • 插入零使用 IGNORE 選項的日期,該選項允許插入此類值並帶有警告而不是錯誤。

以上是為什麼我在 MySQL 中收到「\'create_date\'時間戳欄位的預設值無效」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn