gpt4 book ai didi

php - CodeIgniter 不断为 int 值插入 2147483647

转载 作者:可可西里 更新时间:2023-11-01 07:56:06 25 4
gpt4 key购买 nike

每次我尝试将 id 1008218499200959 或任何其他“long”int 值存储到数据库时,它都存储为 2147483647,并且我将数据长度设置为 20,所以我猜长度应该不是问题。

这是 CodeIgniter 还是数据库问题?

我后来通过将数据类型更改为 varchar 来修复它,但我仍然想知道为什么它会这样。谢谢。

--表applicants

的表结构
CREATE TABLE IF NOT EXISTS `applicants` (
`id` int(20) NOT NULL,
`first_name` varchar(20) NOT NULL,
`last_name` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;`

最佳答案

问题出在基于您定义的 id 类型的 MySQL。最大的 int 值是 2147483647。查看他们的文档:https://dev.mysql.com/doc/refman/5.5/en/integer-types.html

其他选项:

  • 签名的 BIGINT 可以让你到 9223372036854775807
  • 未签名的 BIGINT 可以让你得到 18446744073709551615
  • DECIMAL 的最大位数是 65

(有关详细信息,请参阅 https://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html)。

关于php - CodeIgniter 不断为 int 值插入 2147483647,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33113225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com