CURRENT_DATE/CURDATE() 作為預設DATE 值修正
儘管其外觀簡單,但將CURRENT_DATE 或CURDATE() 設定為預設值使用以下語法的DATE列可能不會函數:
CREATE TABLE INVOICE( INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE )
原因:
雖然這段程式碼看起來很直觀,但由於 MySQL 的限制,它失敗了。根據文檔,DEFAULT 子句要求列具有常數值。不允許使用函數或表達式,例如 CURRENT_DATE。
解決方案:
之前,此問題在 8.0.13 之前的 MySQL 版本中持續存在。但是,在 MySQL 8.0.13 及更高版本中,您現在可以使用 CURRENT_DATE() 或 CURDATE() 作為 DATE 列的預設值,而無需解決方法。
以上是為什麼「DEFAULT CURRENT_DATE」在 MySQL 中不起作用(什麼時候起作用?)的詳細內容。更多資訊請關注PHP中文網其他相關文章!