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: sql