2013-06-30 5 views
1

하나의 쿼리로 열거 형의 모든 가능성을 얻을 수 있습니까?MySQL ENUM 열 유형

예를 들어 '빨강', '녹색', '파랑'과 같은 열 색상을 사용할 수 있습니다. 이 칼럼에 존재하는 실제 값을 얻을하려는 경우

colors 
------ 
red 
green 
blue 

또는

colors 
------ 
red, green, blue 
+0

가능한 복제본 [MySQL 데이터베이스에서 가능한 열거 형 값을 어떻게 얻을 수 있습니까?] (http://stackoverflow.com/questions/2350052/how-can-i-get-enum-possible-values-in-a -mysql-database) – ApplePie

+0

저를위한 유용한 해결책이 없습니다 – Vlado

답변

2

,이 시도 :

나는 이런 식으로 뭔가를 얻으려면

SELECT DISTINCT color FROM colorenum 

이 열에 허용되는 모든 값을 얻으려면 다음을 시도하십시오.

http://www.sqlfiddle.com/#!2/d27350/1

또는

SELECT COLUMN_TYPE 
FROM information_schema.COLUMNS 
WHERE TABLE_NAME='colorenum' AND COLUMN_NAME = 'COLOR'; 

이 하나의 예를 들어 enum('red','green','blue','white','yellow','black')를 반환합니다 :

SHOW COLUMNS FROM colorenum WHERE Field = 'color' 

여기 예를 참조하십시오.

또는

SELECT REPLACE(
    (REPLACE(
    (REPLACE(
     (REPLACE(
     (SELECT COLUMN_TYPE 
     FROM information_schema.COLUMNS 
     WHERE TABLE_NAME='colorenum' AND COLUMN_NAME = 'COLOR') 
     , 'enum(', '')), 
    ')', '')), 
    '\'', '')), 
',', ', '); 

이것은 하나의 예를 들어 red, green, blue, white, yellow, black를 반환합니다.

+0

마지막으로 사용하는 것이 가장 좋습니다. 고맙습니다. – Vlado