首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中使用 CURRENT_TIMESTAMP 管理多個 TIMESTAMP 欄位?

如何在 MySQL 中使用 CURRENT_TIMESTAMP 管理多個 TIMESTAMP 欄位?

Susan Sarandon
發布: 2024-11-01 02:53:28
原創
882 人瀏覽過

How to Manage Multiple TIMESTAMP Columns with CURRENT_TIMESTAMP in MySQL?

使用CURRENT_TIMESTAMP 管理多個TIMESTAMP 欄位

在MySQL 中,使用CURRENT_TIMESTAMP 預設值定義不正確」 ; DEFAULT 或ON UPDATE 子句中只能有一個帶有CURRENT_TIMESTAMP 的TIMESTAMP 欄位。 「為了克服這個限制,請在最近的MySQL 版本(例如5.6.25)中考慮以下方法:

解決方案:

修改表定義如下:

<code class="sql">CREATE TABLE `msgs` (
    `id` INT PRIMARY KEY AUTO_INCREMENT,
    `msg` VARCHAR(256),
    `ts_create` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `ts_update` TIMESTAMP NOT NULL,
    CONSTRAINT UPDATE_ON_CHANGE_ts_update
        FOREIGN KEY (`ts_update`) REFERENCES `msgs` (`ts_create`)
        ON DELETE SET NULL
        ON UPDATE CURRENT_TIMESTAMP
)</code>
登入後複製

在此修改後的架構中:

  • ts_create 保留為具有CURRENT_TIMESTAMP 預設值的常規TIMESTAMP 列。約束的TIMESTAMP 欄位.
  • 在ts_update 和ts_create 之間建立外鍵約束,允許從ts_create 到ts_update 級聯更新。每當修改ts_create 時,ts_update 欄位都會更新為目前時間戳記。

以上是如何在 MySQL 中使用 CURRENT_TIMESTAMP 管理多個 TIMESTAMP 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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