[英]Select ONLY field names from table WITHOUT information_schema
我可以执行查询:
SELECT COLUMNS FROM _table-name_
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 | Type | Null | Key | Default | +-------+--------+------+-----+---------+ | id | char | no | pri | (NULL) | + + + + + + | name | char | no | | (NULL) | +-------+--------+------+-----+---------+
可以,但是我只想要“ Field
列。 我看到了可以查询information_schema
解决方案,但是不幸的是,我没有这个选择,因此我正在寻找一种解决方案
SELECT Field FROM (SHOW COLUMNS FROM _table-name_)
(但我知道这是不可能的)
同样,这需要在一个查询中。
MySQL提供的解决方案是使用information_schema。 您需要说明为什么这不是您的选择,以及如果有人可以建议替代方法,您要达到的目标。
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='myschema' AND TABLE_NAME='mytable'
您可以使用限定的表名(如上所示)查询I_S表,即使您的默认模式当前是其他模式。
您始终具有读取I_S的特权。 如果您有权读取指定模式中的表,则可以从I_S表中读取元数据的相应行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.