当前位置: 首页 > 面试题库 >

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

顾跃
2023-03-14
问题内容

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

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


问题答案:

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

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

2147483647

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



 类似资料:
  • 问题内容: 我有一个包含4列的表格:ID,类型,所有者,描述。ID是AUTO_INCREMENT PRIMARY KEY,现在我要: 当然,我很少有类型=’Apple’和owner =’Apple CO’的记录。因此,我的问题是,哪条记录将是保留在该ALTER TABLE之后的特殊记录,ID最小的记录或最新插入的最大记录? 问题答案: 第一条记录将保留,其余的将被删除§§: 是标准SQL的MySQ

  • 问题内容: 我正在尝试从服务器获取JSON响应,并且当字符串长度达到约5525个字符时,响应字符串似乎总是被截断。 我还通过使用HttpEntity并读取响应流进行了尝试。但这也会在大约该长度处截断字符串。 请让我知道如何处理此问题。创建此文章时,我将其作为参考。 http://senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-rest

  • 问题内容: Firebird在除法而不是舍入时会截断小数位。此外,它以分子和分母的小数位数为基础,将返回值的小数点位数作为基础。 为什么Firebird会被截断而不是四舍五入?为何将返回值基于查询中的小数位数? Firebird2.5: SQL Server 2012: Oracle 11gR2: MySQL 5.5.32: PostgreSQL 9.3.1: SQLite: 问题答案: 在Fir

  • 本文向大家介绍render在什么时候会被触发?相关面试题,主要包含被问及render在什么时候会被触发?时的应答技巧和注意事项,需要的朋友参考一下 在 React 中,只要执行了 setState 方法,就一定会触发 render 函数执行; 组件的 props 改变了,不一定触发 render 函数的执行,除非 props 的值来自于父组件或者祖先组件的 state

  • 问题内容: 以下GO程序给出了错误: 程序: 为什么我不能使用in类型? 问题答案: 更换 通过 引用规范: 当表达式或赋值中混合了不同的数字类型时,需要进行转换。例如,即使int32和int在特定体系结构上可能具有相同的大小,它们也不是同一类型。 Go使用静态类型输入,不会自动在数字类型之间转换。原因可能是为了避免某些错误。例如,应该产生什么值和什么类型?结果应该是吗? ? ?在Go中,这不是问

  • 问题内容: 最近,我正在用Java开发多线程。想了解一个线程是否处于阻塞状态为什么不能被中断?为何只有在等待状态下才能中断线程?基本上,为什么我们需要两个可以被中断而另一个不能被中断的线程状态? 这个问题可能是非常基本的,但是,我试图理解事物,而不仅仅是记住它们。 问题答案: 有人认为您的意思是导致线程停止其当前操作并抛出?Java中的线程中断只是一个标志。您可以在BLOCKED线程上调用就好了,