1

mysqlステートメントが任意のテーブルから任意のフィールドを選択することは可能ですか?例: SELECT * FROM * WHERE ? IN (SELECT * FROM *)特定のテーブルまたはフィールドに依存しない一般的な検索メソッドを実装します。SQLコマンドを使用してデータベースのすべてのテーブルを一覧表示できることを読みましたSHOW TABLES 。これを行う方法について何か考えがありますか?ありがとうございました :)

4

2 に答える 2

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 に答える
0

あなたは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 ,

次に、すべてのテーブルを取得して、クエリを作成できます

このような

$qry = "SELECT * FROM $ALL_DATABASE_TABLES" 
于 2012-10-23T17:48:57.650 に答える