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中文網其他相關文章!