按位置sql从特定表中选择列名

时间:2013-06-13 15:38:23

标签: mysql

我有一张这样的表:

 TABLE
COLUMN1
COLUMN2
COLUMN3

我需要知道如何通过位置获取列名称:

SELECT NAME 
FROM TABLE 
WHERE POSITION = 2;
  

结果:“COLUMN2”

2 个答案:

答案 0 :(得分:1)

如果您有权从information_schema数据库中读取数据,则可以执行以下操作:

SELECT COLUMN_NAME
FROM information_schema.`COLUMNS`
WHERE TABLE_NAME = 'TABLE'
    AND ORDINAL_POSITION = 2;

如前所述in comments,它不是一个好的数据库管理,你在某个地方出错了。

答案 1 :(得分:0)

你可以阅读COLUMNS.ORDINAL_POSITION,但这听起来像是一场等待发生的灾难。

您可以(并且始终应该!)引用列名,例如SELECT colname。这将处理表名为Condition或SELECT

的情况

编辑 - 这是一个非常邪恶的事情,我不会。