為什麼我無法將'0000-00-00 00:00:00”設定為時間戳欄位的預設值?

Linda Hamilton
發布: 2024-10-27 02:27:30
原創
266 人瀏覽過

Why Can't I Set '0000-00-00 00:00:00' as the Default Value for a Timestamp Field?

了解錯誤訊息:「create_date」時間戳欄位的預設值無效

提供的SQL 語句嘗試建立一個帶有時間戳欄位(create_date) 的表,此欄位具有預設值為“0000-00-00 00:00:00”。但是,「NO_ZERO_DATE」SQL 模式禁止使用該值作為有效日期。

為什麼該模式禁止「0000-00-00 00:00:00」?

此模式執行更嚴格的日期驗證規則。它可以防止插入零值日期,例如“0000-00-00”,這可能會導致資料分析不一致和錯誤。

如何解決錯誤?

To要解決該錯誤,您有兩個選擇:

  1. 修改預設值:設定有效的時間戳值('0000-00-00 00:00:00'除外)作為create_date 欄位的預設值。
  2. 停用NO_ZERO_DATE 模式:

    <code class="sql">SET SQL_MODE=(SELECT REPLACE(@@SQL_MODE, 'NO_ZERO_DATE', ''));</code>
    登入後複製

    這將暫時停用此模式,讓您建立表格使用「0000-00-00 00:00: 00”預設值。但是,之後重新啟用該模式以確保資料完整性非常重要。

以上是為什麼我無法將'0000-00-00 00:00:00”設定為時間戳欄位的預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!