首頁 > 資料庫 > mysql教程 > 為什麼 MySQL 不總是接受 CURRENT_DATE/CURDATE() 作為預設值?

為什麼 MySQL 不總是接受 CURRENT_DATE/CURDATE() 作為預設值?

Barbara Streisand
發布: 2024-12-07 11:49:12
原創
804 人瀏覽過

Why Doesn't MySQL Always Accept CURRENT_DATE/CURDATE() as a Default Value?

MySQL 中的CURRENT_DATE/CURDATE() 預設值問題

開發人員面臨的一個常見困境是使用CURRENT_DATE 或CURDATE(DATE作為MySQL 中DATE 欄位的預設值。儘管有預期,但這些函數並沒有如預期運作。

原因在於 MySQL 對預設值的限制。通常,預設值必須是常數,而不是函數或表達式。因此,將 DATE 欄位的預設值設為 NOW() 或 CURRENT_DATE 將會失敗。

[編輯:支援CURRENT_DATE/CURDATE() 作為預設值]

值得注意的是MySQL版本8.0.13引入了對CURRENT_DATE的支援和CURDATE() 作為DATE 欄位的預設值。但是,先前的版本不支援此功能。

TIMESTAMP 欄位的例外

這個規則的一個值得注意的例外是可以使用 CURRENT_TIMESTAMP 作為 TIMESTAMP 的預設值欄位,這是 MySQL 支援的。有關這方面的更多詳細信息,請參閱 MySQL 文件。

以上是為什麼 MySQL 不總是接受 CURRENT_DATE/CURDATE() 作為預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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