MySQL 中 smallint(6) unsigned 的最大值是多少?
mysqlmysqli database
MySQL 中 SMALLINT(6) unsigned 的最大值是 65535。数字 6 不影响实际范围。它只能用于在命令行上显示宽度。
signed 的最小值为
-32768
unsigned 的最大值是
65535
signed 的最大值是
32767
让我们通过 zerofill 来理解这一点,并使用以下查询创建一个表。
mysql> create table smallIntDemo -> ( -> FirstNumber smallint(6) zerofill -> ); Query OK, 0 rows affected (1.95 sec)
现在,您可以使用 insert 命令在表中插入记录。每当您插入超出范围 65535 时,它都不会插入表中,因为这是最大值。查询如下,插入小于最大范围的值。
mysql> insert into smallIntDemo values(2); Query OK, 1 row affected (0.21 sec) mysql> insert into smallIntDemo values(23); Query OK, 1 row affected (0.21 sec) mysql> insert into smallIntDemo values(234); Query OK, 1 row affected (0.17 sec) mysql> insert into smallIntDemo values(2345); Query OK, 1 row affected (0.15 sec) mysql> insert into smallIntDemo values(23456); Query OK, 1 row affected (0.48 sec)
现在,让我们看一些由于超出最大值而无法插入表中的记录。
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)