MySQL时间字段数据类型?
程序员文章站
2022-05-24 15:09:13
...
之前在项目中数据表的时间字段用的都是
今天早上看书时,书上说建议使用
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存时间戳....具体孰好孰坏还请楼下的盆友来回答...