1 つのクエリで enum カラム タイプのすべての可能性を取得できますか?
たとえば、「赤」、「緑」、「青」の可能性のある列の色があります。
私はこのようなものを取得したい:
colors
------
red
green
blue
また
colors
------
red, green, blue
この列に存在する実際の値を取得したい場合は、次のことを試してください。
SELECT DISTINCT color FROM colorenum
この列に許可されているすべての値を取得する場合は、次のことを試してください。
SHOW COLUMNS FROM colorenum WHERE Field = 'color'
ここで例を参照してください: 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')
れます。
また
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
れます。