MySQL中未签名的SMALLINT(6)的最大值为65535。数字6不会影响实际范围。它只能用于在命令行上显示宽度。
签名的最小值为
-32768
无符号的最大值是
65535
签名的最大值为
32767
让我们用zerofill理解这一点,并使用以下查询创建表。
mysql> create table smallIntDemo -> ( -> FirstNumber smallint(6) zerofill -> );
现在,您可以使用insert命令在表中插入记录。每当您插入超出65535的范围时,它都不会插入表中,因为这是最大值。查询如下,插入小于最大范围的值。
mysql> insert into smallIntDemo values(2); mysql> insert into smallIntDemo values(23); mysql> insert into smallIntDemo values(234); mysql> insert into smallIntDemo values(2345); mysql> insert into smallIntDemo values(23456);
现在,让我们看看一些记录,因为它扩展了最大值,所以这些记录不会插入表中。
mysql> insert into smallIntDemo values(234567); ERROR 1264 (22003): Out of range value for column 'FirstNumber' at row 1 mysql> insert into smallIntDemo values(111111); ERROR 1264 (22003): Out of range value for column 'FirstNumber' at row 1
现在,您可以使用select语句显示表中的所有记录。查询如下-
mysql> select *from smallIntDemo;
以下是显示宽度用法的输出,即SMALLINT(6)中的数字。宽度是6。
+-------------+ | FirstNumber | +-------------+ | 000002 | | 000023 | | 000234 | | 002345 | | 023456 | +-------------+ 5 rows in set (0.00 sec)