MySQL中datetime和timestamp的区别

 我来答
新叶给力
2015-12-22 · TA获得超过323个赞
知道小有建树答主
回答量:258
采纳率:50%
帮助的人:68.8万
展开全部
TIMESTAMP 支持从’1970-01-01 00:00:01′ 到 ’2038-01-19 03:14:07′ UTC. 这个时间可能对目前正在工作的人来说没什么问题,可以坚持到我们退休,但对一些年轻的读者,就会有 Bug2K+38 的问题。
DATETIME 从 ’1000-01-01 00:00:00′ 直到’9999-12-31 23:59:59′.
考虑到二者在范围上的不同,你当前的事件日志使用 TIMESTAMP 是没有任何问题的,不过如果是为了记录你祖父和孙子的生日,那还是要用 DATETIME.
另外我建议,如果是一些跟现在相关的时间,可以选择 TIMESTAMP. 例如记录的添加时间之类的,其他的话还是要选择 DATETIME.
存储方面的比较
TIMESTAMP 需要 4 字节的存储空间,而 DATETIME 则需要 8 字节
匿名用户
2015-12-16
展开全部
DATETIME
日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
TIMESTAMP[(M)]
时间戳。范围是'1970-01-01 00:00:00'到2037年。
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。

TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。

注释:MySQL 4.1以前使用的TIMESTAMP格式在MySQL 5.1中不支持;关于旧格式的信息参见MySQL 4.1 参考手册。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编程小菜鸟9
2015-12-22 · TA获得超过237个赞
知道小有建树答主
回答量:183
采纳率:100%
帮助的人:142万
展开全部
datetime 是我们常见的时间格式,如'1970-01-01 00:00:00'

timestamp是时间戳。时间戳一般是1970-01-01 00:00:00到现在的秒数,
一般是12位的整数。可以后面带小数点,精确度高到毫秒等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式