我可以执行查询:
SELECT COLUMNS FROM _table-name_
...或...... SELECT COLUMNS FROM _table-name_
这将给出以下示例结果:
+-------+--------+------+-----+---------+
| Field | Type | Null | Key | Default |
+-------+--------+------+-----+---------+
| id | char | no | pri | (NULL) |
+ + + + + +
| name | char | no | | (NULL) |
+-------+--------+------+-----+---------+
这没关系,但我只想要Field
列。我已经看到了可以查询information_schema
的解决方案,但不幸的是,我不对我有这个选项,所以我正在寻找一个解决方案
SELECT Field FROM (SHOW COLUMNS FROM _table-name_)
(但我知道这是不可能的)
此外,这需要在一个查询中实现。
答案 0 :(得分:1)
MySQL提供的解决方案是使用information_schema。您需要解释为什么这不适合您,以及您尝试实现的目标,如果有人可以提出替代方案。
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='myschema' AND TABLE_NAME='mytable'
即使您的默认架构当前是其他架构,您也可以使用限定的表名来查询I_S表(如上所示)。
您始终拥有阅读I_S的权限。如果您有权读取指定模式中的表,则可以从I_S表中读取相应的元数据行。