0

名前を知らずに列のエイリアスを指定したいのですが、テーブル内の番号だけを指定します。

このようなもの:

select firstColumn as myId, secondColumn as myName, thirdColumn as myLastName

列の実際の名前がわからない場所

(必要性が奇妙に聞こえることは理解しています。そして、はい、列の名前を知ることができます。これは技術的な質問です。動機に関係なく、技術的な答えを知っている場合は答えてください。ありがとうございます!)

4

1 に答える 1

1

最も近い方法は、INFORMATION_SCHEMA.COLUMNS を使用して、序数の位置から列名を見つけることです。これはあなたが求めたものではないことは承知していますが、できる限り近いものになると思います。たとえば、次のように、1 番目、2 番目、5 番目の列を持つ select ステートメントを作成できます。

SELECT CONCAT("SELECT ",
   GROUP_CONCAT(column_name SEPARATOR ", "),
   " FROM ", table_name)
FROM information_schema.columns
WHERE table_schema = database() 
    AND table_name = 'my_table' 
    AND ordinal_position IN (1,2,5) 
GROUP BY table_name 
ORDER BY ordinal_position;
于 2011-08-18T19:41:28.470 に答える