1

1 つのクエリで enum カラム タイプのすべての可能性を取得できますか?

たとえば、「赤」、「緑」、「青」の可能性のある列の色があります。

私はこのようなものを取得したい:

colors
------
red
green
blue

また

colors
------
red, green, blue
4

1 に答える 1

2

この列に存在する実際の値を取得したい場合は、次のことを試してください。

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れます。

于 2013-06-30T20:04:35.667 に答える