首页  >  文章  >  数据库  >  MySQL 4.0 表可以有多个自动更新的 TIMESTAMP 列吗?

MySQL 4.0 表可以有多个自动更新的 TIMESTAMP 列吗?

Linda Hamilton
Linda Hamilton原创
2024-11-13 09:59:02960浏览

Can MySQL 4.0 Tables Have Multiple TIMESTAMP Columns with Automatic Updates?

克服 MySQL 4.0 对多个 TIMESTAMP 列的限制

背景:

在创建 MySQL 4.0 表时,用户经常会遇到尝试使用默认值 CURRENT_TIMESTAMP 定义 Created 和 LastUpdated 时间戳列时出错。这是因为 MySQL 4.0 中时间戳列的默认设置限制仅存在一个此类列。

问题:

用户能否同时拥有 Created 和 LastUpdated 时间戳MySQL 4.0 中的列,还是必须在每次事务期间手动更新 LastUpdated 字段?

答案:

早期版本:

MySQL 5.5 之前,存在限制。只能使用 DEFAULT CURRENT_TIMESTAMP 或 ON UPDATE CURRENT_TIMESTAMP 子句定义一个 TIMESTAMP 列。因此,用户必须在每次事务期间手动更新 LastUpdated 字段。

MySQL 5.5:

MySQL 5.5 的文档澄清,仍然不可能有一个时间戳列作为默认值,另一个作为自动更新值。

MySQL 5.6.5 及更高版本:

但是,MySQL 5.6 中引入了重大更改。 5.取消了对具有多个自动初始化或更新的 TIMESTAMP 列的限制。因此,在 MySQL 5.6.5 及更高版本中,用户可以使用所需的默认值定义 Created 和 LastUpdated 时间戳列。这消除了交易期间手动更新的需要。

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

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