0
在我的许多MySQL数据库表中,我一直在int UNSIGNED
字段中存储时间戳(来自php time()
)。但是,如果我记得正确,time()
会返回13个数字值,而INT UNSIGNED
会存储长度只有10个数字的2147483647
。因此,由time()
返回的任何值都将太大而无法存储在int
字段中。与MySQL如何存储INT不一致?
但是,我的时间戳都没有被截断,所以它如何能够存储如此大的值?这是数据库不一致还是我错过了什么?
不,你的回答是无效的,实际上从现在开始已经过了1343399803秒。 :] – 2012-07-27 14:39:28
啊,我一定是错误的数字..所以这是臭名昭着的y2k38问题?当然,快速解决这个问题(虽然不是美艳的)会在到时候将字段类型改为“BIGINT UNSIGNED”。 – 2012-07-27 14:41:49