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

BIGINT(8)是mysql可以存储的最大整数吗?

乔望
2023-03-14
问题内容

我有一些现在大于INT可以处理的数字。

这有点令人尴尬,但老实说我不确切知道BIGINT(8)的含义。8是最大位值还是最大长度?

那么BIGINT(1)只能是一位数字吗?还是BIGINT(1)还有其他东西?我认为tinyint(1)最大值为127,如何计算出来?

我能做的最大的事情是什么?我可以在mysql中存储为整数的最大数字是多少?


问题答案:

数字代表它的显示方式-不会影响数据的存储方式。

从手册:

MySQL支持另一种扩展,用于可选地在整数关键字的类型的基本关键字(例如INT(4))之后的括号中指定整数数据类型的显示宽度。应用程序可以使用此可选的显示宽度来显示整数值,该整数值的宽度小于为列指定的宽度,方法是用空格左键填充它们。(也就是说,此宽度存在于结果集返回的元数据中。是否使用它取决于应用程序。)

显示宽度不限制可以存储在该列中的值的范围,也不限制宽度超出该列指定的值的显示位数。例如,指定为SMALLINT(3)的列通常具有-32768到32767的SMALLINT范围,并且使用三个以上的字符来显示三个字符所允许的范围之外的值。

BIGINT始终为8个字节,可以存储-9223372036854775808至9223372036854775807(有符号)或0至18446744073709551615(无符号)。



 类似资料:
  • 编辑:在评论中进行了一些讨论后,发现由于幸运地了解了浮点数是如何在C中实现的,我问了一些与我想问的不同的东西。 我想使用比更大的整数(对我来说是8个字节)(对我来说是8个字节),可能不会重复出现在数组或bigint库中。由于我的是16个字节,我认为只需切换类型就可以了。结果表明,即使可以表示更大的整数,你也不能在不失去精度的情况下进行操作——用这些更大的整数。所以不可能实现我想做的事情。实际上,正

  • 这是对前段时间已经回答的问题的进一步澄清:可以存储在双精度中的最大整数 顶部答案提到“最大整数,以便它和所有较小的整数都可以存储在IEEE 64位双精度中而不会失去精度。IEEE 64位双精度有52位尾数,所以我认为它是2^53: 因为: > < li> 253 1无法存储,因为开头的1和结尾的1之间有太多的零。 任何小于 2 53 的东西都可以存储,其中52 位明确存储在尾数中,然后指数实际上给

  • 问题内容: 我需要在MySQL表中存储大量(数千万)的512位SHA-2哈希。为了节省空间,我想以二进制形式存储它们,而不是以十六进制数字的字符串存储。我使用的是ORM(DBix :: Class ),因此将从代码中抽象出存储的特定详细信息,从而可以将它们扩充到我选择的任何对象或结构中。 MySQL的类型是64位。因此,我可以从理论上将散列划分为八列。不过,这似乎很荒谬。我的其他想法只是使用单个列

  • 问题内容: 有谁知道您可以在Redis中存储的最大值是多少?我想将redis与celery一起用作消息队列,以存储一些需要由工作人员在另一台服务器上处理的小文档,并且我想确保这些文档不会太大。 我找到了一个引用1GB的页面,但是当我按照页面上的链接获取答案时,该链接不再有效。链接在这里: http://news.ycombinator.com/item?id=1182005 谢谢,肯 问题答案:

  • 问题内容: 我在Google上搜索并不断提出“不,这是不可能的”,但是这些帖子的发布日期为2005-2007,所以我想知道是否已更改。一个代码示例: 解决方案之一是传递null,然后检查null并设置变量。我不想这样做,也不必这样做。如果这是真的,那么MySql开发人员需要唤醒,因为我可以用MSSQL做更多的事情。 问题答案: 仍然不可能。

  • 问题内容: 当我尝试从Rails调用存储过程时,出现以下异常: Rails Wiki中 有一个页面讨论用于解决此问题的MySQL适配器的修补程序,但是它已过时,似乎不再起作用。 配置代码正确地启用了存储过程,但是在存储过程调用之后连接仍然不同步并且新方法不再起作用,仍然存在问题。 关于如何使它工作的任何建议? 这是我正在使用的代码: 无论是否返回任何结果,它都会引发相同的异常。 问题答案: 将程序