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

MySQL에 값을 저장하기 위한 BOOLEAN 또는 TINYINT?

<시간/>

MySQL BOOLEAN 및 BOOL 둘 다 TINYINT(1)와 동일합니다. BOOLEAN 및 BOOL 데이터 유형을 사용하여 열을 생성할 때마다 MySQL은 암시적으로 BOOLEAN 및 BOOL을 TINYINT(1)로 변환합니다. BOOLEAN 및 BOOL은 동의어이므로 TINYINT(1)와 동일합니다.

BOOLEAN 데이터 유형을 사용하여 테이블을 작성하십시오. 테이블 생성 쿼리입니다.

mysql> create table BooleanDemo
   -> (
   -> IsOn BOOLEAN
   -> );
Query OK, 0 rows affected (0.58 sec)

이제 위 테이블의 내부 구조를 확인하십시오. 쿼리는 다음과 같습니다 -

mysql> show create table BooleanDemo;

출력

+-------------+----------------------------------------------------------------------------------------------------------------------------------+
| Table       | Create Table                                                                                                                     |
+-------------+----------------------------------------------------------------------------------------------------------------------------------+
| BooleanDemo | CREATE TABLE `booleandemo` ( `IsOn` tinyint(1) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci    |
+-------------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

위의 샘플 출력을 보면 BOOLEAN이 tinyint(1)로 변환됩니다. BOOL 데이터 유형의 경우에도 마찬가지입니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table BOOLDemo
   -> (
   -> validUser BOOL
   -> );
Query OK, 0 rows affected (0.61 sec)

이제 테이블의 내부 구조를 확인하십시오. 쿼리는 다음과 같습니다 -

mysql> show create table BOOLDemo;

출력

+----------+------------------------------------------------------------------------------------------------------------------------------------+
| Table    | Create Table                                                                                                                       |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
| BOOLDemo | CREATE TABLE `booldemo` (`validUser` tinyint(1) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci    |
+----------+------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)