首頁 > 資料庫 > mysql教程 > 為什麼無法將 CURRENT_DATE 設定為 MySQL DATE 欄位的預設值?

為什麼無法將 CURRENT_DATE 設定為 MySQL DATE 欄位的預設值?

Patricia Arquette
發布: 2024-12-16 13:16:11
原創
416 人瀏覽過

Why Can't I Set CURRENT_DATE as the Default Value for a MySQL DATE Column?

CURRENT_DATE 預設值謎題

在MySQL 中,嘗試將DATE 欄位的預設值設為CURRENT_() 或CURRENT_DATE 可能看起來像一個直覺的選擇。然而,在嘗試創建這樣的表時,它失敗了。這個問題討論了為什麼會出現這種行為。

罪魁禍首在於MySQL DEFAULT 子句的限制。如官方文件中所解釋的:

「DEFAULT 子句指定列的預設值。除了一個例外,預設值必須是常數;它不能是函數或表達式。」

因此,指派CURRENT_DATE(檢索目前日期的函數)作為DATE 欄位的預設值不是支援。

例外

此規則的例外是 CURRENT_TIMESTAMP 欄位類型。對於 TIMESTAMP 資料列,您可以指定 CURRENT_TIMESTAMP 作為預設值,以自動使用目前日期和時間填入該資料列。

解決方法

如果您希望保留DATE 欄位中的目前日期和時間,您可以使用觸發器在插入和更新作業時自動更新該欄位。

以上是為什麼無法將 CURRENT_DATE 設定為 MySQL DATE 欄位的預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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