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)

相关文章