首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试将php日期(“YmdHis”)作为整数记录在mysql中,但是记录了一些意想不到的内容

问尝试将php日期(“YmdHis”)作为整数记录在mysql中,但是记录了一些意想不到的内容
EN

Stack Overflow用户
提问于 2015-03-05 06:43:01
回答 4查看 171关注 0票数 2

echo date("YmdHis")看上去像20150305072946

它看起来像整数,所以我尝试将mysql记录为整数。

Mysql列类型为int(20)。存储引擎是InnoDB。

我有一个疑问:

代码语言:javascript
复制
INSERT INTO table_name (`DateTime`) VALUES (?)     
$stmt_insert->execute( array( trim(date("YmdHis")) ) );

在mysql中而不是20150305072946中,请参见2147483647

要插入正确的值需要更正什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-03-05 06:45:40

Int不能存储这么大的数字。Bigint是你所需要的。

但

最好的方法是将日期时间保存为一个datetime,没有理由将其存储为一个数字。

票数 1
EN

Stack Overflow用户

发布于 2015-03-05 06:45:40

这就是所谓的中间溢出。这将在DB中设置最大允许的数字,如下所示,这是最大有符号32位整数。

代码语言:javascript
复制
2147483647

http://dev.mysql.com/doc/refman/5.0/en/integer-types.html

所以您需要bigint数据类型来存储更大的整数。

票数 2
EN

Stack Overflow用户

发布于 2015-03-05 06:48:02

http://dev.mysql.com/doc/refman/5.6/en/storage-requirements.html

需要bigint数据类型来存储更大的整数,而不是int

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28871561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档