背景:
在创建 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中文网其他相关文章!