Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL Boolean "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)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from Display;

출력

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