echo date("YmdHis")看上去像20150305072946
它看起来像整数,所以我尝试将mysql记录为整数。
Mysql列类型为int(20)。存储引擎是InnoDB。
我有一个疑问:
INSERT INTO table_name (`DateTime`) VALUES (?)
$stmt_insert->execute( array( trim(date("YmdHis")) ) );在mysql中而不是20150305072946中,请参见2147483647
要插入正确的值需要更正什么?
发布于 2015-03-05 06:45:40
Int不能存储这么大的数字。Bigint是你所需要的。
但
最好的方法是将日期时间保存为一个datetime,没有理由将其存储为一个数字。
发布于 2015-03-05 06:45:40
这就是所谓的中间溢出。这将在DB中设置最大允许的数字,如下所示,这是最大有符号32位整数。
2147483647http://dev.mysql.com/doc/refman/5.0/en/integer-types.html
所以您需要bigint数据类型来存储更大的整数。
发布于 2015-03-05 06:48:02
http://dev.mysql.com/doc/refman/5.6/en/storage-requirements.html
需要bigint数据类型来存储更大的整数,而不是int
https://stackoverflow.com/questions/28871561
复制相似问题