MySQL 布尔型“tinyint(1)”是否能容纳高达 127 的值?


让我们了解一下有关 MySQL 中 TINYINT 类型的部分要点 -

  • TINYINT 类型占 1 字节,即 8 位。
  • TINYINT(N),其中 N 表示您想要的显示宽度。

例如,TINYINT(1) 可用于显示宽度为 1。

让我们了解一下最小值和最大值 -

The maximum value for tinyint is= (2(8-1)-1) = 127
The minimum value for tinyint is = -(2(8-1)) = -128.

该值介于 -128 到 127 之间。这意味着 TINYINT (1) 不会影响 tinyint 的最大值和最小值。

让我们检查一下 -

首先,创建一个表,将其列设置为 TINYINT (1) -

mysql> create table Display
   -> (
   -> rangeOfId tinyint(1)
   -> );
Query OK, 0 rows affected (0.67 sec)

让我们插入一个超出最大和最小范围的值。这会导致错误 -

mysql> insert into Display values(128);
ERROR 1264 (22003): Out of range value for column 'rangeOfId' at row 1

插入记录的查询如下。现在,我们将在范围内插入值 -

mysql> insert into Display values(127);
Query OK, 1 row affected (0.18 sec)

mysql> insert into Display values(-128);
Query OK, 1 row affected (0.20 sec)

使用选择语句显示表中的所有记录。查询如下 -

mysql> select *from Display;

输出

+-----------+
| rangeOfId |
+-----------+
|       127 |
|      -128 |
+-----------+
2 rows in set (0.00 sec)

更新于: 30-Jul-2019

752 次浏览

开启您的 职业生涯

完成该课程,获得认证

开始
广告