int(11)和int(11)UNSIGNED的区别是什么?

Web*_*net 48 mysql

什么是在差异int(11)int(11) UNSIGNED

Mar*_*ers 90

UNSIGNED类型不能为负数,但另一方面,它的正整数范围是其两倍.TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT类型都有签名和未签名的版本.

对于INT,范围定义如下:

Type          Storage         Min           Max
INT                 4 -2147483648    2147483647
INT UNSIGNED        4           0    4294967295
Run Code Online (Sandbox Code Playgroud)

有符号和无符号类型占用相同的存储空间(INT为4个字节).

有关详细信息,请参阅文档.


Mat*_*iva 27

INT从进入-2147483648+2147483647
UNSIGNED INT从进入04294967295

11大括号之间对数量没有影响,它只是显示方式.

  • 作为旁注.如果使用`ZEROFILL`,11只会影响"显示"整数的宽度.否则它没有明显的效果. (4认同)
  • ZEROFILL表示比左侧指定的数字短的数字将在左侧显示足够的零以达到该限制 (4认同)
  • @Webnet:不,(11)与存储空间或范围无关.这是由类型(INT,SMALLINT,BIGINT等)定义的.如果您没有使用ZEROFILL,可以省略它. (2认同)

Arm*_*yan 6

UNSIGNED意味着它只能保存非负值,例如它不能保持 -20

  • 另外,如果将unsigned属性添加到数据类型,它可以存储更大范围的_positive_数字 (6认同)