2016-04-07 9 views
0

人が5フィールドの名前を知っていればMYSQlからフィールドを選択する方法があります10個のフィールドがありますが、フィールドの名前が分からない他の5個のフィールドだけが必要ですか?人がフィールドを選択する方法はありますが、すべてのフィールドが必要ではなく特定のフィールドのみがある場合

「あなたが知っているフィールドの名前」を除いて、誰かがselect *と言うことができる方法はありますか?

+0

ハッキングをお勧めしません:) – ameenulla0007

+0

なぜそのハッキングですか?あなたが 'SELECT *'をすることができれば、質問するものは合法です。もちろん答えはノーですが、それはまだ正当な問題です。 – apokryfos

+0

いいえ、私は、ユーザーが値を付けて追加したいフィールド名を指定できるユーザーインターフェイスを通してフィールドを動的に追加できるシステムを持っています。問題は、ユーザーが追加するフィールド名を知らないので、私が知っているフィールド名を選択せず​​、残りのフィールドのみを選択すると言うことです。 –

答えて

3

はこれを試してみてください -

SHOW FIELDS FROM `tablename` WHERE FIELD NOT IN ('f1','f2','f3'); 

このクエリを実行し、特定のフィールド名を取得し、配列に、各フィールド名を入れます。次に、selectクエリの中に '、'をつけて配列を暗黙指定します。

$fields = implode(',',$fields_arr); 
$sql = SELECT $fields FROM `tablename`; 
+0

私は "$ fields_arr =タイトルフィールドからの表示フィールド"(FIELD NOT IN( 'f1'、 'f2'、 'f3'); –

0

私が最初にすべてのフィールド名を見つけ、あなたがなどの知っているものを除外することでこれを行う方法がある知っているが、問題がある場合:

私はSELECT *(Except F1,F2,F3...) FROM....

を行うことができます

答えがいいえ、SQLはあなたが求めているものをサポートしていません。結果セットに必要なものを明示的に指定する必要があります。

関連する問題