长整数在插入较短的列时会被转换,但不会被截断 为什么?公式是什么?
http://dev.mysql.com/doc/refman/5.0/en/integer- types.html
整数溢出会将数据库中的最大允许数设置为
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
?
为什么没有被截断?
这种转换背后的机制是什么,可以使用某些公式来计算结果数吗?
我不是在寻找解决方案。我只想了解具体数字。
总结以上是真正的电脑专家为你收集整理的长整数在插入较短的列时会被转换,但不会被截断。为什么?公式是什么?的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得真正的电脑专家网站内容还不错,欢迎将真正的电脑专家推荐给好友。