フィールドの 1 つがセット タイプであるテーブルをセットアップしました – set('1','2','3','4','5')。
そのセット タイプのデータを Web ページのフォームにプル ダウンする方法はありますか? たとえば、クエリを実行してテーブルから特定のデータを選択し、それを更新フォームにプルするレコードを更新する場合と同様です。しかし、挿入されたデータを引き下げるのではなく、フィールドが設定されたときに入力されたセット型のデータを引き出せますか?
彼は具体的に について書いていますがENUM
、Chris Komlenic の記事8 Reasons Why MySQL's ENUM Data Type Is Evilは にも同様に当てはまりSET
ます。特に:
4. 個別の ENUM メンバーのリストを取得するのは面倒です。
非常に一般的なニーズは、データベースから可能な値を選択ボックスまたはドロップダウン リストに入力することです。このような:
色を選択:
[ select box ]
これらの値が「colors」という名前の参照テーブルに格納されている場合、必要なのは次のとおり
SELECT * FROM colors
です。 ...これを解析して、ドロップダウン リストを動的に生成できます。参照テーブルの色を追加または変更すると、セクシーな注文フォームが自動的に更新されます。素晴らしい。次に、邪悪な ENUM について考えてみましょう。メンバー リストをどのように抽出しますか? DISTINCT 値についてテーブルの ENUM 列をクエリできますが、実際に使用され、テーブルに存在する値のみが返され、必ずしもすべての可能な値ではありません。スクリプト言語を使用して、INFORMATION_SCHEMA をクエリし、クエリ結果からそれらを解析できますが、これは不必要に複雑です。実際、私は、ENUM 列のメンバー リストを抽出するための洗練された純粋な SQL の方法を知りません。