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