具有 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中文网其他相关文章!