mysql中的INT(5)是什么意思?

Yas*_*sai 36 mysql database

我一直认为INT(5)表示最大为5位的数字.我尝试在其中输入一个巨大的数字,它不知何故被削减到2147483647

这显然不是5位数.那么INT(5)有什么限制?

ype*_*eᵀᴹ 36

来自MySQL Docs,Numeric Type Attributes

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


NPE*_*NPE 30

INT总是四个字节宽.这5是"显示宽度".


Ume*_*iya 12

在MySQL中,INT(5)并不意味着值仅限于5个字符的值.这只意味着MySQL会在返回时尝试用空格/零填充这些值.

的任何数值范围签署INT包括INT(10),INT(5)或任何其它INT(n)是:2,147,483,648 ... 2147483647,这是10个数字至多.


Lel*_*mbo 6

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

"M指示整数类型的最大显示宽度.最大的合法显示宽度是255显示宽度无关值的类型可以包含的范围内,如在第10.2节所描述的,'数值类型’,"