mysql: ссылки на столбцы по номерам - PullRequest
0 голосов
/ 18 августа 2011

Я хочу дать псевдонимам столбцов, не зная их имен, а только их номер в таблице.

Примерно так:

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

где я не знаю реальных имен столбцов

(Я понимаю, что необходимость звучит странно. И да, я могу знать названия столбцов. Это технический вопрос, ответьте, если знаете технический ответ, независимо от мотивации. Спасибо!)

1 Ответ

1 голос
/ 18 августа 2011

Самое близкое, что вы можете сделать, это использовать INFORMATION_SCHEMA.COLUMNS, чтобы найти имя столбца из порядкового номера. Я понимаю, что это не то, что вы просили, но я думаю, что это может быть как можно ближе. Например, вы можете построить оператор select с 1-м, 2-м и 5-м столбцами следующим образом:

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;
...