SQL | 创建时间,更新时间,使用默认值自动设置

在数据库表设计中,经常会使用到创建时间字段和更新时间字段,我们可以为表中的字段设置相应的默认值,实现添加数据时创建时间字段的值自动为当前创建该数据的时间,更新数据时更新时间字段的值自动为当前更新该数据的时间。
这样可以减少后端代码的操作,将压力转换到数据库上。

SQL语句如下:

ALTER TABLE 表名
    ADD (
        `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
        `update_time` TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间'
        );

根据时间段查询(Timestamp类型)-Java

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Timestamp _start = new Timestamp(simpleDateFormat.parse(start).getTime());
Timestamp _over = new Timestamp(simpleDateFormat.parse(over).getTime());

获取当前时间(Timestamp类型)-Java

new Timestamp(System.currentTimeMillis())

这里有个坑:
MySQL5.5只支持一张表有且仅有一个字段默认值为CURRENT_TIMESTAMP
MySQL5.6及以上才支持一张表的两个及以上字段支持同时默认值为CURRENT_TIMESTAMP

发布了28 篇原创文章 · 获赞 13 · 访问量 7800

猜你喜欢

转载自blog.csdn.net/y1534414425/article/details/105020575