INFORMATION_SCHEMA.COLUMNS 테이블을 사용하여 MySQL 데이터베이스에서 가능한 열거형 값을 얻을 수 있습니다. 구문은 다음과 같습니다 -
SELECT COLUMN_TYPE AS anyAliasName FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ‘yourDatabaseName’ AND TABLE_NAME = 'yourTableName' AND COLUMN_NAME = 'yourEnumColumnName';
위의 구문을 이해하기 위해 ENUM 데이터 유형으로 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table EnumDemo
-> (
-> Id int,
-> Color ENUM('RED','GREEN','BLUE','BLACK','ORANGE')
-> );
Query OK, 0 rows affected (0.66 sec) 여기 '샘플' 데이터베이스에 'EnumDemo' 테이블이 있습니다. 이제 위의 구문을 구현하여 열에서 가능한 모든 열거형 값을 가져올 수 있습니다.
예
쿼리는 다음과 같습니다 -
mysql> SELECT -> COLUMN_TYPE as AllPossibleEnumValues -> FROM -> INFORMATION_SCHEMA.COLUMNS -> WHERE -> TABLE_SCHEMA = 'sample' AND TABLE_NAME = 'EnumDemo' AND COLUMN_NAME = 'Color';
출력
+---------------------------------------------+
| AllPossibleEnumValues |
+---------------------------------------------+
| enum('RED','GREEN','BLUE','BLACK','ORANGE') |
+---------------------------------------------+
1 row in set (0.00 sec)