テーブル構造が不明であるか、変更される可能性があるシナリオでは、特定の列を選択することが困難になります。このチュートリアルでは、列名を動的に取得し、目的の列を選択するクエリを構築する方法を示します。
列名を動的に取得するには、次のクエリを組み合わせることができます。
考えられるアプローチの 1 つは、これらのクエリを結合し、GROUP_CONCAT() 関数を使用して目的の列を連結することです。 names:
SELECT CONCAT('SELECT ', GROUP_CONCAT(c.COLUMN_NAME), ' FROM table_name;') INTO @query FROM information_schema.columns c WHERE c.TABLE_NAME = 'table_name' AND c.COLUMN_NAME LIKE 'prefix%';
このクエリは、次の SELECT ステートメントを含む文字列を生成します。指定された基準に一致する特定の列が含まれます。
クエリ文字列が構築されたら、準備して実行できます。
PREPARE stmt FROM @query; EXECUTE stmt;
以上がMySQL クエリで列を動的に選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。