2016-09-24 58 views
1

如何通过命令行中的sql查询使用索引获取列名?MySQL。如何通过索引获取列名?

我希望像show columns from my_table where col_index = 2;

我发现有关如何显示所有列,但有关于如何通过其在表中的位置得到确切的列名没有回答许多答案。

+1

你的意思COLUMNS.ORDINAL_POSITION? – scaisEdge

+0

@scaisEdge,因为它代表列位置,然后是:) –

+0

@Martin它不是重复的。仔细比较问题。 –

回答

3

使用表information_schema.columns

select column_name 
from information_schema.columns 
where table_name = 'my_table_name' and ordinal_position = 2; 
+0

Thx,那工作:) –

+1

高兴它的工作原理:-) –

+0

警告:如果您的数据库包含多个架构,并且每个可以包含相同的表名称上面将返回多个行。您可以细化查询:'... where table_name ='my_table_name'and table_schema ='my_schema_name'and ordinal_position = 2' – JonP

0

您可以从INFORMATION_SCHEMA.COLUMNS选择和使用limit

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table' 
limit 1, 1; 
相关问题