2016-09-24 56 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; 
相關問題