MySQL에서 열을 생성할 때 false를 기본값으로 지정하려면, 테이블을 만드는 시점에 DEFAULT 키워드를 활용하면 됩니다.
기본 개념
MySQL에서 부울(Boolean) 타입은 실제로 TINYINT(1)로 저장되며, 0은 false를, 1은 true를 의미합니다. 따라서 기본값으로 false를 지정하면 레코드가 삽입될 때 해당 값이 자동으로 0으로 저장됩니다.
1. DEFAULT false로 테이블 생성하기
아래 예제는 DEFAULT false 옵션을 사용하여 부울 열을 가진 테이블을 생성하는 방법입니다.
mysql> create table TrueFalseTable
-> (
-> Adult boolean default false
-> );
Query OK, 0 rows affected (0.65 sec)
위 쿼리에서 Adult 열은 부울 타입으로 선언되었으며, 별도의 값을 지정하지 않으면 자동으로 false(0)가 입력됩니다.
2. 값 없이 레코드 삽입하기
기본값이 설정되어 있으므로, 값을 명시하지 않고 레코드를 삽입해도 됩니다.
mysql> insert into TrueFalseTable values();
Query OK, 1 row affected (0.16 sec)
3. 결과 확인하기
삽입된 데이터를 조회하여 기본값이 올바르게 적용되었는지 확인합니다.
mysql> select *from TrueFalseTable;
아래 출력 결과를 보면, 아무 값도 지정하지 않았음에도 불구하고 부울 기본값인 false, 즉 0이 저장된 것을 확인할 수 있습니다.
+-------+
| Adult |
+-------+
| 0 |
+-------+
1 row in set (0.00 sec)
정리
이처럼 MySQL에서는 테이블 생성 시 DEFAULT false 구문만 추가하면, 값이 제공되지 않은 경우에도 해당 열에 자동으로 0(false)이 저장됩니다. 이 방식은 회원의 성인 여부, 알림 수신 동의 여부 등 true/false 상태를 관리하는 열에 유용하게 활용할 수 있습니다.