我想给列别名而不知道它们的名字,而只知道它们在表中的编号。
像这样的东西:
select firstColumn as myId, secondColumn as myName, thirdColumn as myLastName
我不知道列的实际名称
(我知道这个需求听起来很奇怪。是的,我知道列的名称。这是一个技术问题,如果你知道技术答案,请回答,不管动机如何。谢谢!)
您可以做的最接近的方法是使用 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;