需求
数据表中增加两个字段,create_time、 update_time 分别记录数据插入时间、数据更新时间
字段类型使用timestamp
创建表sql语句
CREATE TABLE `mytest` (
`id` bigint NOT NULL AUTO_INCREMENT,
`comments` varchar(255) DEFAULT '' COMMENT '内容',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//如果想设置一个具体的默认时间可以这样:
CREATE TABLE `mytest2` (
`id` bigint NOT NULL AUTO_INCREMENT,
`comments` varchar(255) DEFAULT '' COMMENT '内容',
`create_time` timestamp DEFAULT '2020-12-12 12:12:12' COMMENT '创建时间',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
MySQL中的CURRENT_TIMESTAMP:
在创建时间字段的时候-----
① DEFAULT CURRENT_TIMESTAMP
表示当插入数据的时候,该字段默认值为当前时间
② ON UPDATE CURRENT_TIMESTAMP
表示每次更新这条数据的时候,该字段都会更新成当前时间
这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】和【更新时间】两个字段,且不需要代码来维护。