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

Mysql 按位置sql从特定表中选择列名,mysql,Mysql,我有一张这样的桌子: TABLE COLUMN1 COLUMN2 COLUMN3 我需要知道如何通过位置获取列名: SELECT NAME FROM TABLE WHERE POSITION = 2; 结果:“第2栏” 您可以阅读列。顺序位置,但这听起来像是一场即将发生的灾难 您可以(而且应该)在中引用列名,例如选择colname。这将处理表名为条件或SELECT的情况 编辑-这是一件非常邪恶的事情,我不会这么做。如果您有权从信息模式数据库中读取数据,您可以执行以下操作: SELECT

我有一张这样的桌子:

 TABLE
COLUMN1
COLUMN2
COLUMN3
我需要知道如何通过位置获取列名:

SELECT NAME 
FROM TABLE 
WHERE POSITION = 2;
结果:“第2栏”


您可以阅读
列。顺序位置
,但这听起来像是一场即将发生的灾难

您可以(而且应该)在中引用列名,例如
选择colname
。这将处理表名为条件或
SELECT
的情况


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

如果您有权从
信息模式
数据库中读取数据,您可以执行以下操作:

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

如前所述,这不是一个好的数据库管理,您在某个地方出了问题。

那么,当在位置2之前添加一个新列时,会发生什么情况呢?我真想知道您试图解决的问题是什么。您是否正在尝试遍历每个列以获取其名称?可以获取列位置和名称。在数据库系统中,列位置是完全无关的。大多数SQL不知道列的位置,只知道列名。如果您正在编写一个包含列位置的select子句,那么您将度过一段不愉快的时光。