ran*_*php 4 php mysql multiple-tables describe
我试图从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"
Run Code Online (Sandbox Code Playgroud)
所以你不能真正在多个表上使用它.但是,如果您有information_schema数据库,那么您可以使用它如下:
select column_name
from `information_schema`.`columns`
where `table_schema` = 'mydb' and `table_name` in ('users', 'posts');
Run Code Online (Sandbox Code Playgroud)
在这里,你必须mydb用你的数据库名称替换,或者只是使用DATABASE().
是的,使用 information_Schema 视图。
SELECT * FROM information_schema.columns
WHERE Table_Name=? OR Table_name=?;
Run Code Online (Sandbox Code Playgroud)
使用它们,因为它们是查询数据库元数据的标准方式。