首页 >数据库 >mysql教程 >MySQL 表现在可以有多个 CURRENT_TIMESTAMP 列吗?

MySQL 表现在可以有多个 CURRENT_TIMESTAMP 列吗?

Susan Sarandon
Susan Sarandon原创
2024-12-02 18:23:12528浏览

Can MySQL Tables Now Have Multiple CURRENT_TIMESTAMP Columns?

具有 CURRENT_TIMESTAMP 的多个 TIMESTAMP 列:历史限制

在以前版本的 MySQL 中,一项限制将表自动限制为只有一个 TIMESTAMP 列使用 CURRENT_TIMESTAMP 子句初始化或更新为当前日期和时间。此限制扩展到 DEFAULT 和 ON UPDATE 子句。

MySQL 5.6.5 中放宽限制

MySQL 5.6.5 版本带来了重大变化,解除了历史限制。在此版本中,任何 TIMESTAMP 列都可以具有 DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 子句的任意组合。

示例:

以下表定义,之前引发了错误,现在从 MySQL 开始有效5.6.5:

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;

注意:此更改也适用于 DATETIME 列定义,它们现在支持相同的子句和组合。

以上是MySQL 表现在可以有多个 CURRENT_TIMESTAMP 列吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn