Maison > Article > développement back-end > MySQL时间字段数据类型?
之前在项目中数据表的时间字段用的都是 int(10)
今天早上看书时,书上说建议使用 TIMESTAMP
类型,大家在项目都是怎么存储的?
之前在项目中数据表的时间字段用的都是 int(10)
今天早上看书时,书上说建议使用 TIMESTAMP
类型,大家在项目都是怎么存储的?
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存时间戳....具体孰好孰坏还请楼下的盆友来回答...