0

フィールドの 1 つがセット タイプであるテーブルをセットアップしました – set('1','2','3','4','5')。

そのセット タイプのデータを Web ページのフォームにプル ダウンする方法はありますか? たとえば、クエリを実行してテーブルから特定のデータを選択し、それを更新フォームにプルするレコードを更新する場合と同様です。しかし、挿入されたデータを引き下げるのではなく、フィールドが設定されたときに入力されたセット型のデータを引き出せますか?

4

2 に答える 2

-1

彼は具体的に について書いていますが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 の方法を知りません。

于 2013-10-24T18:35:02.783 に答える