mysql:添加时间列自动更新时间(用于记录创建时间和修改时间)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: mysql:添加时间列自动更新时间(用于记录创建时间和修改时间)

通常我们在数据库建表时希望有创建时间和更新时间的列来进行记录,而在mysql中,timestamp数据类型是一个比较特殊的数据类型,它可以自动在你不使用程序更新情况下,插入或者修改记录会自动更新timestamp的值。


下面我们看一下使用方法:


1.只有对记录进行修改时才更新为当前时间,插入时不会:


ON UPDATE CURRENT_TIMESTAMP


我的数据库中实际代码示例:

ALTER TABLE `t_user`   //t_user是我的一个表名
ADD COLUMN `updateDate`  TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP 
//上面这句话是在该表创建一个只对记录进行修改时才更新时间的updateDate列
AFTER `createDate`;
//将该列加在createDate列后


效果展现对比:


20190314012228150.png


20190314012341508.png


2. 在插入记录时,会添加当前时间,但在修改记录时,不会再更新当前时间


DEFAULT CURRENT_TIMESTAMP


我的数据库中实际代码示例:


ALTER TABLE `t_user`
ADD COLUMN `createDate`  TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP 
AFTER `updateDate`;


效果展现对比:


20190314013657964.png

2019031401434426.png20190314014426462.png

3、 4两条由于我没有实际应用到项目中,所以没有在数据库操作,大家需要用到的话可以参考应用

3.在插入或者更新记录时,都会更新当前时间

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP


4.如果default或on update 子句都不写,就等同于

default current_timestamp on update CURRENT_TIMESTAMP


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
关系型数据库 MySQL 数据库
MySQL时间字段设置自动更新
MySQL时间字段设置自动更新
211 0
|
SQL 关系型数据库 MySQL
mysql使用default给列设置默认值的问题
mysql使用default给列设置默认值的问题
288 0
|
SQL 关系型数据库 MySQL
6:列属性完整性-MySQL
6:列属性完整性-MySQL
185 0
|
DataWorks 关系型数据库 MySQL
DataWorks产品使用合集之用脚本的方式同步数据到MySQL,怎么指定列作为目标表为唯一行
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
130 0
|
关系型数据库 MySQL
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
133 0
|
存储 关系型数据库 MySQL
MySQL中的列类型之字符串类型总结
MySQL中的列类型之字符串类型总结
696 1
|
关系型数据库 MySQL 数据库
实时计算 Flink版产品使用问题之如何排除某个列进行同步MySQL数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
数据库 索引 关系型数据库
MySQL设计规约问题之为什么在插入数据时,必须显示指定插入的列属性
MySQL设计规约问题之为什么在插入数据时,必须显示指定插入的列属性
|
存储 关系型数据库 MySQL
深入探索MySQL的虚拟列:发展、原理与应用
深入探索MySQL的虚拟列:发展、原理与应用
|
存储 关系型数据库 MySQL
如何修改MySQL列允许Null?
如何修改MySQL列允许Null?
384 1
如何修改MySQL列允许Null?

推荐镜像

更多