首頁 > 資料庫 > mysql教程 > MySQL 表現在可以有多個帶有 CURRENT_TIMESTAMP 的 TIMESTAMP 欄位嗎?

MySQL 表現在可以有多個帶有 CURRENT_TIMESTAMP 的 TIMESTAMP 欄位嗎?

Linda Hamilton
發布: 2024-11-30 01:47:10
原創
438 人瀏覽過

Can MySQL Tables Now Have Multiple TIMESTAMP Columns with CURRENT_TIMESTAMP?

解除了CURRENT_TIMESTAMP 限制的一個TIMESTAMP 欄位

在先前版本的MyMySQL 中,一張表格只能有一個TIMESTAMP 資料列,其CURRENT_TIMESTAMP 值位於DEFAULT 或ON UPDATE 子句。嘗試建立包含多個此類列的表會導致錯誤。

限制性子句

下面的語句說明了容易出錯的結構:

CREATE TABLE `foo` (
  `ProductID` INT(10) UNSIGNED NOT NULL,
  `AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=INNODB;
登入後複製

錯誤回傳:

Error Code : 1293
Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
登入後複製

歷史原因

此限制在歷史上源自於程式碼遺留原因。然而,它在最近的 MySQL 版本中被取消。

刪除限制

2012 年 4 月 10 日的 MySQL 5.6.5 中刪除了此限制。 發行說明state:

「以前,每個表最多可以自動初始化或更新一個TIMESTAMP 欄位任何TIMESTAMP 欄位定義都可以有DEFAULT CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP 子句的任意組合。此外,這些子句現在現在可以與DATETIME 列定義一起使用。 >
影響

MySQL 中的這項變更允許更大的表格設計的靈活性。更改。

以上是MySQL 表現在可以有多個帶有 CURRENT_TIMESTAMP 的 TIMESTAMP 欄位嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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