MySQL CURRENT_TIMESTAMP不返回当前时间戳

时间:2017-05-23 11:25:33

标签: mysql timestamp

我使用两种方法在表中插入了时间戳: 1 - time() php代码 2 - insert into mytable (...,....,time) values(...,...,CURRENT_TIMESTAMP())。 插入的值为:1)1495353761 和2)2147483647。数据库中time的类型为INT(11)。我的问题是为什么会发生这种情况,我该怎么办? (主持人:localhost)

3 个答案:

答案 0 :(得分:0)

2147483647一个人错了。它相当于Tue,2038年1月19日03:14:07 GMT

请参阅https://en.wikipedia.org/wiki/2,147,483,647

你发错了。仔细检查您的时间字段类型。

答案 1 :(得分:0)

编辑:我将答案更改为社区维基。

2147483647是mysql的最大int值。只需将类型从int更改为bigint。

从这个答案中拉出/引用:

来自评论:

  

“@ Fred-ii-谢谢你的回答。你是对的。我把类型更改为BIGINT(20)。它返回20170523021022.如果你查看数字,它是日期和所以我用UNIX_TIMESTAMP()。它解决了我的问题。 - Man Manam“

答案 2 :(得分:0)

我的表中的时间类型是int(11)。 SVGs适用于svg { fill: currentColor; } 类型。如果您希望将Integer作为时间戳,则应使用CURRENT_TIMESTAMP