【问题标题】:Is BIGINT(8) the largest integer MySQL can store?BIGINT(8) 是 MySQL 可以存储的最大整数吗?
【发布时间】:2010-12-10 13:53:19
【问题描述】:

我现在有一些数字超出了INT 的处理能力。

这有点尴尬,但我真的不知道BIGINT(8) 到底是什么意思。其中的8是最大位值还是最大长度?

所以BIGINT(1) 只能是一位数?还是BIGINT(1) 是别的什么?我认为TINYINT(1) max 是 127,结果如何?

  • BIGINT我能做的最大的事情是什么?
  • 我可以在 MySQL 中以整数形式存储的最大数字是多少?

【问题讨论】:

  • 5 个答案在同一分钟内,得出几乎相同的结论 :)
  • 是的,我给大家投票了,因为我只能选择一个答案:)

标签: sql mysql


【解决方案1】:

括号内的数字是显示宽度,与数据类型实际可以存储的数字范围无关。

在 MySQL 中,BIGINT 数字数据类型需要 8 个字节用于存储,并且具有以下范围:

  • 有符号范围是 -9223372036854775808 到 9223372036854775807(即从 -263 到 263-1)。
  • 无符号范围是 0 到 18446744073709551615(即从 0 到 264-1)。

您可以在此处找到更多信息:MySQL Numeric Data Types

【讨论】:

    【解决方案2】:

    要存储 128 位整数,可以使用 BINARY(16)。

    对于 252:

    SELECT RIGHT(CONCAT(REPEAT("\0",16),UNHEX(CONV(252,10,16))),16);

    或等效:

    SELECT UNHEX(RIGHT(CONCAT(REPEAT("0",32),HEX(252)),32));

    (但 MySQL 整数计算是 64 位的)

    另见最近的 IPv6 函数 INET6_ATON() 和 INET6_NTOA(), http://dev.mysql.com/doc/refman/5.6/en/miscellaneous-functions.html#function_inet6-aton 以及他们如何使用 VARBINARY(16)。

    【讨论】:

      【解决方案3】:

      您的答案在this overview。 BIGINT 确实是 8 个字节。只有一个 TinyInt 1。

      顺便说一句,我不认为从-92233720368547758089223372036854775807 的范围很尴尬,它是 +/-2^63 :)。

      【讨论】:

        【解决方案4】:

        数字仅定义数字显示时的宽度。查看sizes of numeric types的mysql手册。

        【讨论】:

          【解决方案5】:

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

          来自the manual

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

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

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

          【讨论】:

            猜你喜欢
            • 2018-08-05
            • 2010-12-23
            • 2011-04-22
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-01-06
            • 1970-01-01
            • 2020-07-15
            相关资源
            最近更新 更多