mysql - mariadb/mysql - 如何使用 sysdate/curdate 创建日期列?
问题描述
我想在我的表中创建一个与 oracle sysdate 变量具有等效功能的列作为默认值。因此,当插入一行时(没有日期,使用当前的 sysdate)。创建此表的查询是什么?我还应该允许此列使用空值,这将如何工作?
另外,我希望能够在该表中插入一行,以便实现该功能。请提供使用此功能的示例插入查询。
此外,我希望能够对 DATETIME 列类型执行相同的操作。
提前致谢。
解决方案
这在文档中得到了很好的解释:
TIMESTAMP 和 DATETIME 列可以自动初始化并更新为当前日期和时间(即当前时间戳)。
语法如下:
create table t (
. . .,
createdAt datetime not null default current_timestamp
);
如果您为列提供默认值,那么您不妨将其声明为NOT NULL
.
您也可以对更新执行相同的操作:
updatedAt datetime not null default current_timestamp on update current_timestamp
推荐阅读
- android - 在 Android Studio 中反汇编所有 Java 代码
- html - 如何创建对应于嵌入链接的复选框
- python - 使用我的代码在python中将字符串转换为字典
- firebird - 一种无需使用触发器即可知道 Firebird 表的数据是否已更改的方法
- laravel - 了解 Laravel 会话处理程序
- mongodb - Spring Data Mongo 中的 MongoDb 聚合 toDate()
- javascript - 在新行拆分,除非在双引号内
- haskell - 如何从 IO Monad 调用 Handler Monad 中的函数
- javascript - 我应该在哪里映射和过滤我的数据?在 react 组件或 redux 存储中
- java - 在 Java 中将 HashMap 格式化为 JSON