將NOW() 設定為日期時間資料類型的預設值
建立資料庫表時,將列的預設值設為確保數據輸入一致。對於日期時間資料類型,通常希望使用當前時間作為預設值。
現有表格修改挑戰
在 MySQL 中,設定預設值 NOW () 對於現有的日期時間列可能具有挑戰性。嘗試將預設值設為 NOW() 時遇到的錯誤訊息表示這是一個無效的預設值。
MySQL 5.6.5 及以上版本的解決方案
幸運的是,MySQL 5.6.5 引入了 DATETIME 資料類型,它允許動態預設值。若要在建立表格時將預設值設為NOW(),請使用以下語法:
CREATE TABLE users ( registerDate DATETIME DEFAULT CURRENT_TIMESTAMP )
MySQL 5.6.5 之前的解決方案
對於MySQL版本在5.6.5 之前,必須使用TIMESTAMP 資料類型在記錄修改時自動更新日期時間值。不過,值得注意的是,每個表格只能存在一個自動更新的 TIMESTAMP 欄位。
CREATE TABLE users ( registerDate TIMESTAMP )
要防止時間戳值在 UPDATE 時更新,請將 DEFAULT CURRENT_TIMESTAMP 新增至 TIMESTAMP 欄位定義中:
CREATE TABLE users ( registerDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP )
以上是如何將 NOW() 設定為 MySQL 中日期時間列的預設值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!