MySQL 布尔值"tinyint(1)"是否最多可容纳 127 个值?
mysqlmysqli database
让我们了解 MySQL 中 TINYINT 类型的一些要点 −
- TINYINT 类型占用 1 个字节,即 8 位。
- TINYINT(N),其中 N 表示您想要的显示宽度。
例如,TINYINT(1) 可用于显示宽度为 1。
让我们了解最小值和最大值 −
tinyint 的最大值是 = (2(8-1)-1) = 127 tinyint 的最小值是 = -(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)
使用 select 语句显示表中的所有记录。查询如下 −
mysql> select *from Display;
输出
+-----------+ | rangeOfId | +-----------+ | 127 | | -128 | +-----------+ 2 rows in set (0.00 sec)