MySQL에서 char(2) 타입으로 선언된 데이터베이스 필드에 NULL 값을 삽입하는 방법을 알아보겠습니다. INSERT 문에서 해당 컬럼을 생략하거나 DEFAULT 키워드를 활용하면 char 타입 필드에도 손쉽게 NULL을 저장할 수 있습니다.
1. 테이블 생성하기
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable658(FirstName varchar(100), value char(2)); Query OK, 0 rows affected (0.95 sec)
위 쿼리는 varchar(100) 타입의 FirstName 컬럼과 char(2) 타입의 value 컬럼을 가진 테이블을 만듭니다.
2. 레코드 삽입하기
insert 명령을 사용하여 테이블에 데이터를 삽입합니다.
mysql> insert into DemoTable658(FirstName) values('John');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable658(value, FirstName) values(default(value), 'Sam');
Query OK, 1 row affected (0.23 sec)첫 번째 INSERT 문은 value 컬럼을 아예 지정하지 않았기 때문에 해당 필드에 자동으로 NULL이 들어갑니다. 두 번째 INSERT 문은 default(value) 구문을 사용하여 value 컬럼에 기본값인 NULL을 명시적으로 삽입했습니다.
3. 결과 확인하기
select 문으로 테이블의 모든 레코드를 조회합니다.
mysql> select * from DemoTable658;
실행 결과는 다음과 같습니다.
+-----------+-------+ | FirstName | value | +-----------+-------+ | John | NULL | | Sam | NULL | +-----------+-------+ 2 rows in set (0.00 sec)
결과 분석
출력 결과에서 확인할 수 있듯이, 두 레코드 모두 char(2) 타입의 value 컬럼에 NULL 값이 정상적으로 저장되었습니다. John의 경우 INSERT 문에서 value 컬럼 자체를 생략했고, Sam의 경우 default(value) 구문을 통해 명시적으로 NULL을 삽입한 것입니다.
이처럼 컬럼에 NOT NULL 제약 조건이 설정되어 있지 않다면, MySQL에서는 char 타입 필드에도 두 가지 방법 모두로 NULL 값을 자유롭게 삽입할 수 있습니다.