首页 > 解决方案 > 将 TIMESTAMP 字段添加到 MySQL

问题描述

我想在 MySQL 数据库表中添加一个“过期”时间戳列,但我不希望它使用当前时间戳自动更新。

基本上,我会将这个值(例如 1650477744)与当前时间戳进行比较,以查看条目是否已过期。

每当我尝试添加这样一个定义为 TIMESTAMP 的字段时,它都期望(我认为)一个格式化的时间戳,例如 2021-06-01 12:00:00。

我应该如何定义该领域?

标签: mysql

解决方案


explicit_defaults_for_timestamp为您的 MySQL 服务器启用配置选项。

然后 datetime/timestamp 列将不会具有您描述的自动行为,除非您在定义列时明确声明DEFAULT CURRENT_TIMESTAMPor 。ON UPDATE CURRENT_TIMESTAMP没有这些子句的列不会有这种行为。

阅读https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html了解更多详情。


推荐阅读