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

简介: 长整数在插入较短的列时会被转换,但不会被截断为什么?公式是什么?

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

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

解决方法
我有一个integer长度为10 的类型的列:

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?
为什么没有被截断?
这种转换背后的机制是什么,可以使用某些公式来计算结果数吗?

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

声明:地推任务网所有作品(图片、文字)均由用户自行上传分享,仅供网友学习交流。

相关文章
|
3月前
|
数据挖掘 索引 Python
如何在处理重复值时保持数据的原始顺序?
可以在处理数据重复值时有效地保持数据的原始顺序,确保数据在清洗和预处理过程中不会因为重复值的处理而导致顺序混乱,从而保证了数据分析结果的准确性和可靠性。
159 64
|
7月前
去除数组中重复的那个数字
去除数组中重复的那个数字
|
7月前
|
算法
统计一字符串中,重叠字符出现的次数
统计一字符串中,重叠字符出现的次数
55 0
|
算法
给定m个不重复的字符 [a,b,c,d],以及一个长度为n的字符串tbcacbdata滑动窗口
给定m个不重复的字符 [a,b,c,d],以及一个长度为n的字符串tbcacbdata滑动窗口
262 0
|
人工智能 算法 JavaScript
最长连续不重复的序列
最长连续不重复的序列
给定一个字符串,能否最多删除一段连续的一段使得剩下的为“2020”
给定一个字符串,能否最多删除一段连续的一段使得剩下的为“2020”
90 0