gpt4 book ai didi

php - 长整数在插入较短的列时会被转换,而不是被截断。为什么?公式是什么?

转载 作者:行者123 更新时间:2023-11-29 01:40:47 25 4
gpt4 key购买 nike

我有一个长度为 10 的 integer 类型的列:

`some_number` int(10) unsigned NOT NULL

我在此列中插入了一个太长的数字:

$some_number = 715988985123857;
$query = "INSERT INTO this_table SET some_number = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $some_number);
$stmt->execute();

当我查看表格中的内容时,现在的数字是:

2147483647

715988985123857如何以及为何变成2147483647
为什么它没有被截断?
这种转换背后的机制是什么,是否可以通过某种公式计算得出的数字?


我不是在寻找解决方案。我只是想了解具体的数字。

最佳答案

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

整数溢出会将数据库中的最大允许数设置为

2147483647

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

关于php - 长整数在插入较短的列时会被转换,而不是被截断。为什么?公式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23550231/

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