MYSQL创建时间与更新时间使用自动默认值的方法

时间:2021-11-24

在数据库表设计中,经常会使用到创建时间字段和更新时间字段,我们可以为表中的字段设置相应的默认值,实现添加数据时创建时间字段的值自动为当前创建该数据的时间,更新数据时更新时间字段的值自动为当前更新该数据的时间。

这样可以减少后端代码的操作,将压力转换到数据库上。

SQL语句如下:

  1. ALTER TABLE 表名 
  2.  
  3.     ADD ( 
  4.  
  5.         `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
  6.  
  7.         `update_time` TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' 
  8.  
  9.         ); 

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

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

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

  1. new Timestamp(System.currentTimeMillis()) 

编后说明:

MySQL5.5只支持一张表有且仅有一个字段默认值为CURRENT_TIMESTAMP

MySQL5.6及以上才支持一张表的两个及以上字段支持同时默认值为CURRENT_TIMESTAMP

    收藏