当 INFORMATION_SCHEMA 拒绝访问时如何查询表的列?

Posted

技术标签:

【中文标题】当 INFORMATION_SCHEMA 拒绝访问时如何查询表的列?【英文标题】:How to query the columns of a table when INFORMATION_SCHEMA gives acces denied? 【发布时间】:2011-02-12 14:33:09 【问题描述】:

我要做的是获取表的所有列(表可以为空)

我之前做过的例子:

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE table_name = 'aTable' 
  AND table_schema = 'theDatabase'

它在本地主机上完美运行,但在我的提供者上它提供:

#1142 - SELECT command denied to user 'username'@'localhost' for table 'COLUMNS'

是否有不使用 INFORMATION_SCHEMA 的替代方法?

【问题讨论】:

【参考方案1】:

它提供的信息不如信息模式多,但如果您只需要列名,您可以使用:

DESCRIBE `theDatabase`.`aTable`

【讨论】:

以上是关于当 INFORMATION_SCHEMA 拒绝访问时如何查询表的列?的主要内容,如果未能解决你的问题,请参考以下文章

错误 #1044 - 用户 'root'@'localhost' 拒绝访问数据库 'information_schema' [关闭]

mysql:在 information_schema 上的访问被拒绝

无法从 MyODBC 链接访问 MySQL 8.0 INFORMATION_SCHEMA

SQLSTATE[HY000] [2002] 连接被拒绝 (SQL: select * from information_schema.tables where table_schema = ms_a

MySQL 创建视图

当文件被拒绝访问与目录被拒绝访问时,File.Exists 的行为不同