我爱java系列之---mysql自动更新创建时间和更新时间

Posted 少年攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我爱java系列之---mysql自动更新创建时间和更新时间相关的知识,希望对你有一定的参考价值。

1.所有时间和日期的数据类型:

2、MySQL 脚本实现用例

--添加CreateTime 给创建时间设置默认时间 CURRENT_TIMESTAMP 
ALTER TABLE `table_name` ADD COLUMN  `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\' ;
--修改CreateTime 给创建设置默认时间 CURRENT_TIMESTAMP ALTER TABLE `table_name` MODIFY COLUMN `CreateTime` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\' ;
示例:
ALTER TABLE `queue_conf` MODIFY COLUMN  `CREATE_TIME` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\' ;


##############################################################################################################################################


--添加UpdateTime,给更新时间设置 默认时间 CURRENT_TIMESTAMP 设置更新时间为 ON UPDATE CURRENT_TIMESTAMP
ALTER TABLE `table_name` ADD COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT
\'更新时间\' ;


--修改 UpdateTime 设置 默认时间 CURRENT_TIMESTAMP 设置更新时间为 ON UPDATE CURRENT_TIMESTAMP
ALTER TABLE `table_name` MODIFY COLUMN `UpdateTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT
\'更新时间\' ;

示例:ALTER TABLE `queue_conf`MODIFY COLUMN `UPDATE_TIME` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\';

3.效果图

 4.数据库设置好了之后,mybatis用java接口查询的时候,会存在查出来的时间和数据库存的时间不一致的问题(差八个小时),这时候需要在url上加上时区

spring: 
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/s2019?allowMultiQueries=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=utf-8
     username: ####
     password: ****

以上是关于我爱java系列之---mysql自动更新创建时间和更新时间的主要内容,如果未能解决你的问题,请参考以下文章

我爱java系列之---分布式ID生成解决方案:UUIDRedis生成idsnowflake

我爱Java系列之---SpringBoot打成war包部署

我爱java系列之---springboot项目集成swagger2

我爱java系列之---微服务中SpringSecurity权限控制使用步骤

我爱java系列---线程池的原理

我爱Java系列之---SpringBoot中常用的注解和两种注入方式