MySQL时间字段数据类型?


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

mysql php

戴耳机的鸟 9 years, 2 months ago

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

叫什么名字好 answered 9 years, 2 months ago

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

LeoAs answered 9 years, 2 months ago

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,保证能够存储地球有生之年的时间戳.

supaz answered 9 years, 2 months ago

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

撸腿毛 answered 9 years, 2 months ago

Your Answer