一尘不染

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

mysql

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

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

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

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


阅读 1038

收藏
2020-05-17

共1个答案

一尘不染

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

手册

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

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

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

2020-05-17