4

次のようなことを行う方法はありますか:

SELECT * FROM TABLE WHERE COLUMN_NUMBER = 1;

?

4

4 に答える 4

3

いいえ、できません。MySQL では列の順序は重要ではありません。詳細については、以下の質問を参照してください。

mysql - 指定された列番号のテーブルから値を選択する

于 2013-07-13T02:52:38.833 に答える
1

テーブルに名前付きの列COLUMN_NUMBERがあり、その列に「1」の値が含まれているテーブルから行を取得する場合、そのクエリでうまくいくはずです。

あなたがしようとしているのは、選択リスト内の式をエイリアスで参照していると思われます。そして、それはサポートされていません。列を参照する WHERE 句の式は、列を名前で参照する必要があります。

式にエイリアスを与えるために、インライン ビューでいくつかのトリックを実行できますが、MySQL が派生テーブルを実体化する方法のため、これは WHERE 述語に関しては効率的ではありません。その場合、外側のクエリで参照する必要があるインライン ビューの列に付けられた名前です。

于 2013-07-13T02:54:38.663 に答える
-1

あなたはこのトリックを行うことができます

例:

$query="select * from employee";

$result=mysql_query($query);

$meta=mysql_fetch_field($result,0)  // 0 is first field in table  , 1 is second one ,,, etc

$theNameofFirstField=$meta->name;    // this well return first  field name in table


// now you can use it in other query

$seconQuery="select $theNameofFirstField from employee";
于 2014-01-01T12:04:16.363 に答える