728x90
enum이라는 데이터 타입은 조금 독특합니다. 어떤 컬럼의 데이터 타입이 만약 enum이라면 컬럼 정의시 열거된 값들만 입력이 가능해집니다.
예를 들기 위해 우선 다음과 같은 테이블을 생성했습니다.
CREATE TABLE person (
id tinyint(1) NOT NULL AUTO_INCREMENT,
name char(4) NOT NULL,
favorite_color enum('파랑', '빨강', '초록') NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
여기서 favorite_color라는 이름의 컬럼의 데이터 타입은 enum으로 되어 있습니다. 그 안에는 '파랑', '빨강', '초록'이 담겨 있습니다. 이 뜻은 favorite_color 컬럼은 저 셋의 입력만 허용한다는 뜻입니다. 만약 '검정', '노랑'과 같이 열거되어 있지 않은 값을 넣으면 에러가 뜹니다.
보시다시피 파랑, 빨강, 초록은 문제없이 입력되었는데, 노랑을 입력하려고 하자 error가 떴습니다.
ERROR 1265 (01000): Data truncated for column 'favorite_color' at row 1
person 테이블을 조회해보니 에러가 떴던 마지막 쿼리는 역시 반영되지 않았습니다.
이처럼 enum 데이터 타입은 값의 입력을 특정 몇 개의 값들로 제한하고 싶을 때 사용할 수 있습니다.
728x90
'데이터베이스 > MySQL, MariaDB' 카테고리의 다른 글
[MariaDB] enum 데이터 타입 (0) | 2021.03.25 |
---|---|
[MariaDB] LIKE를 사용하여 특정 문자열 검색하기 (0) | 2021.01.13 |
[MariaDB] group by 사용 예제 (0) | 2021.01.12 |
[MariaDB] 데이터베이스 백업 및 복구하기 (0) | 2020.12.30 |
[MariaDB] 컬럼 순서 변경하기 (6) | 2020.12.26 |
[MariaDB] 테이블 이름 변경하기 (0) | 2020.12.25 |
[MariaDB] 사용자에게 모든 권한 또는 CRUD 권한 부여하기 (0) | 2020.12.25 |
[MariaDB] 사용자 추가하는 방법 (0) | 2020.12.24 |
[MariaDB] 우분투 mariadb 포트 번호 변경하는 방법 (2) | 2020.12.24 |