百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL中CURRENT_TIMESTAMP数据类型详解
分享文章到:

MySQL中CURRENT_TIMESTAMP数据类型详解

发布时间:01/15 来源: 浏览: 关键词:
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
        ) 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只会更新第一个。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有1人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板