mysql - 将 TIMESTAMP 字段添加到 MySQL
问题描述
我想在 MySQL 数据库表中添加一个“过期”时间戳列,但我不希望它使用当前时间戳自动更新。
基本上,我会将这个值(例如 1650477744)与当前时间戳进行比较,以查看条目是否已过期。
每当我尝试添加这样一个定义为 TIMESTAMP 的字段时,它都期望(我认为)一个格式化的时间戳,例如 2021-06-01 12:00:00。
我应该如何定义该领域?
解决方案
explicit_defaults_for_timestamp
为您的 MySQL 服务器启用配置选项。
然后 datetime/timestamp 列将不会具有您描述的自动行为,除非您在定义列时明确声明DEFAULT CURRENT_TIMESTAMP
or 。ON UPDATE CURRENT_TIMESTAMP
没有这些子句的列不会有这种行为。
阅读https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html了解更多详情。
推荐阅读
- c# - Getting the text from a RichTextBox
- c# - C# which data structure is suitable for efficient querying in both ways(forward and backward)
- optimization - NEON: How to I get my SoA 4x quaternion-to-matrix out to array of non-interleaved 4x4 matrices?
- python - running neo4j in docker: "NO MODE SPECIFIED!"
- javascript - Get the very last row in a table, although it isn't scrolled into current sight
- c++ - Why doesn't a negative number modulo a vector size give a negative number?
- r - When deploying shiny app in shiny.io I get "app.R did not return a shiny.appobj object"
- google-kubernetes-engine - 特定公共 docker hub 镜像的 GKE 镜像拉取错误
- objective-c - App crashed with [WAKScrollView canBecomeFocused]: unrecognized selector sent to instance
- typescript - React-Typescript:这个 JSX 标签的 'children' 属性需要一个类型为 'Element | 未定义',但提供了多个孩子