mysql 语句是否可以从任何表中选择任何字段?例如:
SELECT * FROM * WHERE ? IN (SELECT * FROM *)
实现不依赖于特定表或字段的通用搜索方法。我刚刚读到我们可以使用 SQL 命令列出数据库的所有表:SHOW TABLES
您对我们如何做到这一点有任何想法吗?谢谢 :)
user1079425
问问题
1012 次
2 回答
0
You could try something like this in php
$getTables = mysql_query("show tables");
$tmpString = '';
while ($table_data = mysql_fetch_row($getTables))
{
$tmpString.=$table_data[0].',';
}
$ALL_DATABASE_TABLES = substr($string,0,strlen($tmpString)-1); //Remove the last ,
Then you got all your tables and you can build your query
like this
$qry = "SELECT * FROM $ALL_DATABASE_TABLES"
于 2012-10-23T17:48:57.650 回答
0
创建一个过程并使用动态查询机制,例如:
CREATE PROCEDURE dynamicQuery()
BEGIN
SET @tableName := 'TABLENAME1';
SET @SqlStr = 'SELECT * FROM @tableName';
PREPARE n_StrSQL FROM @SqlStr;
EXECUTE n_StrSQL;
DEALLOCATE PREPARE n_StrSQL;
END
于 2012-10-23T17:43:56.290 回答