我有一些现在大于INT可以处理的数字。
这有点令人尴尬,但老实说我不确切知道BIGINT(8)的含义。8是最大位值还是最大长度?
那么BIGINT(1)只能是一位数字吗?还是BIGINT(1)还有其他东西?我认为tinyint(1)最大值为127,如何计算出来?
我能做的最大的事情是什么?我可以在mysql中存储为整数的最大数字是多少?
数字代表它的显示方式-不会影响数据的存储方式。
从手册:
MySQL支持另一种扩展,用于可选地在整数关键字的类型的基本关键字(例如INT(4))之后的括号中指定整数数据类型的显示宽度。应用程序可以使用此可选的显示宽度来显示整数值,该整数值的宽度小于为列指定的宽度,方法是用空格左键填充它们。(也就是说,此宽度存在于结果集返回的元数据中。是否使用它取决于应用程序。) 显示宽度不限制可以存储在该列中的值的范围,也不限制宽度超出该列指定的值的显示位数。例如,指定为SMALLINT(3)的列通常具有-32768到32767的SMALLINT范围,并且使用三个以上的字符来显示三个字符所允许的范围之外的值。
MySQL支持另一种扩展,用于可选地在整数关键字的类型的基本关键字(例如INT(4))之后的括号中指定整数数据类型的显示宽度。应用程序可以使用此可选的显示宽度来显示整数值,该整数值的宽度小于为列指定的宽度,方法是用空格左键填充它们。(也就是说,此宽度存在于结果集返回的元数据中。是否使用它取决于应用程序。)
显示宽度不限制可以存储在该列中的值的范围,也不限制宽度超出该列指定的值的显示位数。例如,指定为SMALLINT(3)的列通常具有-32768到32767的SMALLINT范围,并且使用三个以上的字符来显示三个字符所允许的范围之外的值。
BIGINT始终为8个字节,可以存储-9223372036854775808至9223372036854775807(有符号)或0至18446744073709551615(无符号)。