我想在不知道名字的情况下给列别名,但只知道表中的数字。
这样的事情:
select firstColumn as myId, secondColumn as myName, thirdColumn as myLastName
我不知道列的实际名称
(我知道需要听起来很奇怪。是的,我可以知道列的名称。这是一个技术问题,如果您知道技术答案,请回答,无论动机如何。谢谢!)
答案 0 :(得分: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;