0

在我的许多 MySQL 数据库表中,我一直在字段中存储时间戳(来自 php time()) 。int UNSIGNED但是,time()如果我没记错的话,它会返回 13 位值,并INT UNSIGNED存储最多2147483647只有 10 位长度的值。因此,返回的任何值time()都将是一个太大的数字,无法存储在int字段中。

但是,我的时间戳都没有被截断,那么它如何能够存储这么大的值呢?是数据库不一致还是我遗漏了什么?

4

1 回答 1

2

自 epoch (1970) 以来,目前已经过去了 1343399732 秒,这可以很好地存储在有符号的 int 中。

它处理的是与2038年左右相关的秒数,当您将秒数存储在有符号的 32 位 int 中时,这会开始给您带来麻烦。

于 2012-07-27T14:37:36.817 回答