码迷,mamicode.com
首页 > 数据库 > 详细

细节决定成败-mysql中的时间存储(datetime,timestamp,int)

时间:2014-12-13 21:51:16      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:mysql   timestamp   数据库   php   

在mysql中存储时间,我们可以用datetime 格式,timestamp格式,也可以用int格式。那么我们设计的时候该如何考虑呢?


首先,我觉得应该明白这几个格式究竟是如何的,然后看看他们的区别,这样我们才能思考何时使用正确的格式。


DATETIME格式,默认是"YYYY-MM-DD HH:MM:SS",这19个字符表示的,从1000-01-01 00:00:00-9999-12-31 23:59:59 。


TIMESTAMP格式也是‘YYYY-MM-DD HH:MM:SS‘这样的,与DATETIME不同的地方是,它的年份取值范围是1970-2037。


INT 的格式就是整数的形式,它可以控制位数,一般我们设置成10位就可以了。


那么什么时候使用DATETIME呢,当要显示的格式比较固定,就是显示年月日,时分秒这样的格式的时候,就采用这个方式,timestamp虽然较datetime的范围小,但是一般我们认为他的范围也是足够大的了,此外它还可以设置为更新的时候,自动修改值,也就是说当我们修改数据库,比如插入或者更新的时候,这个字段当我们设置成

CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,时,它就会自动填入当前的时间。


那么何时使用int呢,本来int不应该是时间格式,但是我们经过大量的编程实践发现,我们平时在php编程中,经常需要格式化显示时间,比如只显示年月日,如果数据库中存入的是int类型的时间,那么我们可以直接使用php的内置函数date()来转换了,非常的方便,而且对于时间的比较也更加的容易,因为是int类型,可以直接比较大小就可以比较时间了。


细节决定成败-mysql中的时间存储(datetime,timestamp,int)

标签:mysql   timestamp   数据库   php   

原文地址:http://blog.csdn.net/fujiafeihudui/article/details/41913789

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!