mysql timestamp 用法_MYSQL timestamp用法
问题来源
在业务系统中,有时候想要知道用户最后一次活动距离现在的时间。记得mysql是有这样的字段的,可以直接在一条记录更新时,自动更新时间。上网查了查,找到了,是timestamp类型。
用法
在表中定义一个timestamp类型的字段,如下所示:
create table test(
id integer primary key auto_increment,
name varchar(256) not null,
createdAt timestamp default current_timestamp on update current_timestamp
);
createdAt字段被定义为timestamp类型,而且默认值是当前时间戳,当记录发生更新时,该字段同时会更新为当前时间戳。timestamp等于是提供了对一条对数据自身修改时间的记录。
依据不同的场景,一般timestamp会有几类用法:
在记录创建和修改时都刷新
参见上面的例子,在sql语句上,要同时注明default字段和on update字段。
createdAt timestamp default current_timestamp on update current_timestamp
只在记录创建时刷新时间,以后修改时不再刷新
如下所示,在定义字段时删去on update语句。
createdAt timestamp default current_timestamp
在创建时将字段设置为0,以后修改时刷新
只有on update语句。
createdAt timestamp on update current_timestamp
在创建时给一个定值,修改时刷新
只有on update语句。
createdAt timestamp DEFAULT ‘yyyy-mm-dd hh:mm:ss' on update current_timestamp
这样,在记录发生变化时,可以根据需要记录时间戳。
字段更新值和原值一样的情况
假定我们更新了表的某个字段,例如name属性,createdAt也可以相应刷新。但是有一种情况例外,就是如果更新值和原值一样,mysql出于优化考虑,并不会执行任何操作。此时,为了记录时间,可以强制刷新时间戳。
update table test set name = '', createdAt = current_timestamp where id = 1;
读取时间戳
如果要读出时间戳,又该怎么使用呢?
select unix_timestamp(createdAt) as tt from test
如上所示,该语句可以读出来以秒为单位的时间戳,然后就可以进行各种比较和运算了
mysql timestamp 用法_MYSQL timestamp用法相关推荐
- mysql timestamp格式化_mysql TIMESTAMP(时间戳)详解
TIMESTAMP的变体 1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录和修改现有记录的时候都对这个数 ...
- mysql sysdate调用_MySQL SYSDATE()用法及代码示例
MySQL中的SYSDATE()函数用于根据函数的上下文以YYYY-MM-DD HH:MM:SS或YYYYMMDDHHMMSS.uuuuuu格式返回当前日期和时间. 用法: SYSDATE() 参数: ...
- mysql $的用法_MYSQL limit用法
1.Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. Sql代码 SELECT * F ...
- decode的mysql用法_MySQL DECODE( )用法及代码示例
MySQL DECODE()函数用于解码编码的字符串并返回原始字符串.如果编码的字符串为空字符串,则MySQL DECODE()函数将返回空字符串. DECODE()函数接受两个参数,分别是要解码的编 ...
- mysql中field的用法_MySQL FIELD()用法及代碼示例
FIELD(): 此函數有助於返回值在給定值列表中的位置.如果用戶將字符串值作為FIELD()函數的參數傳遞,則搜索將作為字符串值執行.並且,如果用戶將數字值作為FIELD()函數的參數傳遞,則搜索將 ...
- mysql timestamp 类型_MySQL timestamp类型
在本教程中,您将了解MySQL TIMESTAMP和TIMESTAMP列的功能,如使用时间戳自动初始化和更新. MySQL TIMESTAMP简介 MySQL TIMESTAMP是一种保存日期和时间组 ...
- mysql更新时间戳_MySQL timestamp自动更新时间分享
通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项.MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值! 这样 ...
- mysql year使用_MySQL YEAR()用法及代码示例
MySQL中的YEAR()函数用于查找给定日期的年份.如果日期为NULL,则YEAR()函数将返回NULL.否则,它将返回从1000到9999的值范围. 用法: YEAR(date) 参数:此方法接受 ...
- mysql锿法_MySQL基本用法
常用sql语句 查看数据库: show databases; 创建一个HA的数据库: create database HA; 查看自己所处的位置: select database(); 删除数据库: ...
最新文章
- 想法1 : 突然萌发的 “天时地利人和”-----优化
- elk7.2+filebeat
- H5案例分享:移动端滑屏 touch事件
- GPU 与CPU的作用协调,工作流程、GPU整合到CPU得好处
- 在python3中如何加载静态文件详版步骤
- c# mysql 中文,c#操作mysql中文乱码的解决方案_c#应用
- php 批量删除挂马文件夹,PHP批量挂马脚本
- Spring Boot和Dubbo整合
- iapp退出软件按钮代码_还在为金蝶财务软件发愁吗?超详细!金蝶财务软件实操流程,速收...
- 上传附件点击事件_支持高拍仪扫描凭证附件的出纳记账软件
- 大学生简单静态HTML网页模板源码——家乡介绍美丽乡村11页
- qq互联android sdk,qq互联.Android_SDK_V2.0使用说明.doc
- 成都链安科技CEO 创始人杨霞:解决智能合约的安全问题,形式化验证是个“利器”!
- android常用地图坐标转换
- xman_2019_format
- linux 脚本里切换用户密码,shell,切换用户,执行指定,脚本
- 调用win api将指定名称的打印机设置为默认打印机
- 他如何从一位专车司机成功变身CEO?
- 关于matlab好文推荐
- 1064 朋友数 (C++)
热门文章
- C语言getenv()函数的用法?(获取系统某个环境变量字符串名的值)(windows VS上用_dupenv_s()函数)
- C/C++ 如何快速解构一个系统的源码(如何看懂大型工程项目的源码)
- python如何判断一段代码运行是否超出一定时间,如果超出则抛出异常?(检测函数运行是否超时,规定时间内执行,限制时间)eventlet模块 (eventlet.timeout.Timeout)
- 将yolo标注转换为tensorflow_yolov3标注生成train.txt和test.txt同时做数据清洗
- Python 计算机视觉(七)—— OpevCV进行直方图统计
- linux——管理系统设备之LVM的管理
- thymeleaf基本语法
- android 4.0.3固件,Vi30豪华版_Android4.0.3-1.0测试版固件刷机教程【MM刷机】
- matlab 格式化文件,格式化matlab文件01_新建普通文件
- java 表单请求_java模拟表单请求