首頁 > 資料庫 > mysql教程 > 如何將 NOW() 設定為 MySQL 中日期時間列的預設值?

如何將 NOW() 設定為 MySQL 中日期時間列的預設值?

Susan Sarandon
發布: 2025-01-03 13:59:41
原創
572 人瀏覽過

How Can I Set NOW() as the Default Value for a DateTime Column in MySQL?

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

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