MySQL时间字段数据类型?

之前在项目中数据表的时间字段用的都是 int(10)
今天早上看书时,书上说建议使用 TIMESTAMP 类型,大家在项目都是怎么存储的?

阅读 5.3k
5 个回答

datetime 和 int 应该都精确不到毫秒上去,timestamp 和 bigint 可以

int占用4个字节,而4个字节就是32位,不够32位前面补0,所以MySQL中unsigned int(10)最大能存储的整数是2^32-1,即4294967295.echo date('Y-m-d H:i:s', 4294967295); 返回 2106-02-07 14:28:15 ,也就是int(10)字段无法存储这个时间后的时间戳.个人觉得可以用8个字节的bigint,保证能够存储地球有生之年的时间戳.

我们用的 datetime, 缺点是没有毫秒, 需要记录毫秒的用的字符型存的

个人更喜欢int存时间戳....具体孰好孰坏还请楼下的盆友来回答...

考虑精确度的时候 时间戳 其他 datetime 或 TIMESTAMP

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题