MySQL中CURRENT_TIMESTAMP(转)
1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()
| 代码如下 | |
|
mysql> select current_timestamp, current_timestamp(); +---------------------+---------------------+ |
|
例
MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样。
1、自动UPDATE 和INSERT 到当前的时间:
表:
———————————
Table Create Table
——————————————————————————————-
| 代码如下 | |
| t1 CREATE TABLE `t1` ( `p_c` int(11) NOT NULL, `p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 |
|
数据:
| 代码如下 | |
| 1 2007-10-08 11:53:35 2 2007-10-08 11:54:00 insert into t1(p_c) select 3; update t1 set p_c = 2 where p_c = 5; |
|
数据:
| 代码如下 | |
| 1 2007-10-08 11:53:35 5 2007-10-08 12:00:37 3 2007-10-08 12:00:37 |
|
2、自动INSERT 到当前时间,不过不自动UPDATE。
总结
1.第一次插入时记录一次时间戳
2.每次更新都更新时间戳
3.只记录简要时间,比如Date
如果是第一种和第二种情况,使用timestamp相比datetime要更为方便些。timestamp默认值有三种:
■无
■NULL
■NOT NULL DEFAULT CURRENT_TIMESTAMP
■NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
其中,
■CURRENT_TIMESTAMP - 当更新此条记录时,时间戳不会改变
■CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - 当更新此条记录时,时间戳将会改变,变为最新时间
设置CURRENT_TIMESTAMP默认值后,插入记录还是更新记录都不需要维护该字段,该字段完全由MySQL维护,就像AutoIncrement字段一样,但如果使用上文设置的datetime字段,则需要手动构造时间更新,比如类似now()等。
例:
<if test="updatetime != null">
updatetime = now()
</if>
对CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,有个特殊情况,假如你更新的字段值(UPDATE)没有变化时,MySQL将会忽略更新操作,所以,时间戳也不会改变。另外,如果有多个CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP列,那么MySQL只会更新第一个。
MySQL中CURRENT_TIMESTAMP(转)的更多相关文章
- Mysql】Mysql中CURRENT_TIMESTAMP,CURRENT_DATE,CURRENT_TIME,now(),sysdate()各项值的区别
CURRENT_TIMESTAMP,CURRENT_DATE,CURRENT_TIME,now(),sysdate()各项值的区别,我们可以通过在终端下,查看结果就能知道: SELECT CURREN ...
- 【转】MySql中的函数
原文:http://www.cnblogs.com/kissdodog/p/4168721.html MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: ...
- MySQL中有关TIMESTAMP和DATETIME的总结
一.MySQL中如何表示当前时间? 其实,表达方式还是蛮多的,汇总如下: CURRENT_TIMESTAMP CURRENT_TIMESTAMP() NOW() LOCALTIME LOCALTIME ...
- MySQL 中NULL和空值的区别
平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效 ...
- MYSQL中关于日期处理的函数
< DOCTYPE HTML PUBLIC -WCDTD HTML TransitionalEN> MySQL数据库中SQL语句中 关于日期.时间\时间戳的函数 一 MySQL 获得当 ...
- MySQL中的datetime与timestamp比较-------转载
原文地址http://database.51cto.com/art/200905/124240.htm MySQL中的datetime与timestamp比较 本文将通过实例比较MySQL中的date ...
- MySQL 中NULL和空值的区别 (转载 http://blog.sina.com.cn/s/blog_3f2a82610102v4dn.html)
平时我们在使用MySQL的时候,对于MySQL中的NULL值和空值区别不能很好的理解.注意到NULL值是未知的,且占用空间,不走索引,DBA建议建表的时候最好设置字段是NOT NULL 来避免这种低效 ...
- mysql中时间类型datetime,timestamp与int的区别
在mysql中存储时间,我们可以用datetime 格式,timestamp格式,也可以用int格式.那么我们设计的时候该如何考虑呢? 首先,我觉得应该明白这几个格式究竟是如何的,然后看看他们的区别, ...
- mysql 中时间和日期函数应用
一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...
随机推荐
- ActiveMQ的介绍及使用实例.
今天就来说下 这个项目中使用ActiveMQ的情况, MQ: message queue, 顾名思义就是消息队列的意思. 一: 使用场景: 消息队列在大型电子商务类网站,如京东.淘宝.去哪儿等网站有 ...
- springboot学习笔记(一)
一.什么是SpringBoot 描述:Spring Boot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目.大多数SpringBoot项目只需要很少的配置文件.二.Spr ...
- HTML5入门以及新标签
HTML5 学习总结(一)--HTML5入门与新增标签 目录 一.HTML5概要 1.1.为什么需要HTML5 1.2.什么是HTML5 1.3.HTML5现状及浏览器支持 1.4.HTML5特性 ...
- Hexo的Next主题配置
使用Next主题 在这里Downloads Next主题代码 将下载的代码放在myBlog/next目录下 设置站点myBlog/_config.yml的theme字段值为next 生成新页面hexo ...
- OpenCASCADE BRepTools
OpenCASCADE BRepTools eryar@163.com Abstract. OpenCASCADE BRepTools provides utilities for BRep data ...
- Python标准模块--functools
1 模块简介 functools,用于高阶函数:指那些作用于函数或者返回其它函数的函数,通常只要是可以被当做函数调用的对象就是这个模块的目标. 在Python 2.7 中具备如下方法, cmp_to_ ...
- javascript面向对象系列第二篇——创建对象的5种模式
× 目录 [1]字面量 [2]工厂模式 [3]构造函数[4]原型模式[5]组合模式 前面的话 如何创建对象,或者说如何更优雅的创建对象,一直是一个津津乐道的话题.本文将从最简单的创建对象的方式入手,逐 ...
- Hive创建表格报【Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException】引发的血案
在成功启动Hive之后感慨这次终于没有出现Bug了,满怀信心地打了长长的创建表格的命令,结果现实再一次给了我一棒,报了以下的错误Error, return code 1 from org.apache ...
- 将Excel文件转换为Html
将Excel文件转换为HTML 背景 我的工作有时会涉及到财务数据的处理.我们大家都知道,Excel文件在处理数据中很流行并且被广泛使用.Excel让我们可以将存储在里面的数据进行数学计算.我在工作中 ...
- 浅析Openflow
这应该算是我在博客园的第一篇技术性的文章. OH,不,这不是一篇技术性的文章,只是一篇很好玩的浅显分析接触到的技术的文章.只是个人的理解,并没有任何的代码和执行的操作.初次带来的,是从08年开始火起来 ...