mysql里面的int(m)

写过varchar(10)或者char(8)之类的sql表定义之后,可能会认为int(10)也是类似的作用,比如定义一个多少位的整数,所以有时能见到int(8),int(4)的写法,然而这是不对的。

int(m)真正的含义是当这个整数使用零填充(zerofill)的时候,最多填充零到哪个位。

对于SQL中的整数,下表是它们所规定的最大最小数。

类型 字节数 最小值 最大值
(有符号/无符号) (有符号/无符号)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

而如果需要描述得更具体得整数范围时,也可以使用Decimal(m,d),将后面的参数d设成0,表示不使用小数点后面的位,就是整数了。

Tags:

Leave a Reply

Spam Protection by WP-SpamFree