프로그래밍/Mysql

MySQL ENUM 사용

가카리 2013. 12. 25. 15:55
반응형

MySQL 서브쿼리는 버전 4.1.x 대부터 지원하고 있다.

ENUM(value1, value2, value3...) value는 최대 65535 개까지 가능.

CREATE TABLE TEST (
id varchar(10),
name varchar(20),
auth_code ENUM('AA01', 'AB01', 'AC01', 'AD01', 'AD99')
)

INSERT INTO TEST VALUES ('test1', '테스트1','AA01')
INSERT INTO TEST VALUES ('test2', '테스트2', 2)

select * from TEST;
결과는
------------------------------------
id name auth_code
-------------------------------------
test1 테스트1 AA01
test2 테스트2 AB01
-------------------------------------
select * from TEST where auth_code = 1;
결과는
------------------------------------
id name auth_code
-------------------------------------
test1 테스트1 AA01
-------------------------------------

속도면에서도 도움이 될것 같다. 디비가 알아서 n개중에 하나를 찾게 되니...

비슷한 기능을 하는 놈 중에 SET이 있는데 ENUM이 한개만 선택이 가능
다중선택은 SET 이라는 것이 있다고 하는데...

INSERT INTO TEST VALUES ('test', '테스트','AA01,AB01, AC01') <-- ENUM타입이라면 에러난다.

출처 : http://www.isfull.com/bbs/board.php?bo_table=tb05&wr_id=14

반응형