MySQL中CURRENT_TIMESTAMP数据类型详解
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-08 11:11:31 浏览: 评论:0
MySQL中CURRENT_TIMESTAMP数据类型会自动根据UPDATE 和INSERT 到当前的时间,这样我们在保存或更新数据时就不需要现插入一个time的.
1.MySQL 获得当前时间戳函数:current_timestamp, current_timestamp(),代码如下:
- mysql> select current_timestamp, current_timestamp();
- +---------------------+---------------------+
- | current_timestamp | current_timestamp() |
- +---------------------+---------------------+
- | 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |
- +---------------------+---------------------+
例,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 --phpfensi.com
- ) 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()等.
对CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,有个特殊情况,假如你更新的字段值(UPDATE)没有变化时,MySQL将会忽略更新操作,所以,时间戳也不会改变,另外,如果有多个CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP列,那么MySQL只会更新第一个.
Tags: CURRENT_TIMESTAMP MySQL数据类型
相关文章
- ·MySQL数据类型与数据类型范围入门教程(2014-09-29)
- ·MySql数据库中字段数据类型详解(2014-10-01)
- ·Mysql数据库字段数据类型、长度详解(2014-10-02)
- ·MySQL数据类型 int(M)什么意思(2014-10-03)
- ·mysql数据类型DECIMAL(M,D)用法介绍(2014-10-08)
- ·mysql中char、varchar、nvarchar数据类型的用法区别(2014-10-12)

推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)