我正在尝试从 2 个表中获取列名。

我尝试了类似的查询:(SHOW COLUMNS FROM users) UNION (SHOW COLUMNS FROM posts) 但这不起作用并返回语法错误。我使用 DESCRIBE 尝试了相同的查询,但这也不起作用。 如何在单个查询中从多个表中获取所有列名? 有可能吗?

最佳答案

来自 5.0 版 ( http://dev.mysql.com/doc/refman/5.0/en/show-columns.html ) 的文档

"SHOW COLUMNS displays information about the columns in a given table"

所以你不能真正在多个表上使用它。但是,如果您有 information_schema 数据库,则可以按如下方式使用它:
select column_name
from `information_schema`.`columns`
where `table_schema` = 'mydb' and `table_name` in ('users', 'posts');

在这里,您必须将 mydb 替换为您的数据库名称,或者只使用 DATABASE()

关于php - MySQL-从多个表中显示列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17846387/

10-13 05:36