MySQL での動的カラム名の取得
MySQL では、テーブル構造が不明な場合、または頻繁に変更される可能性がある場合に、カラム名を動的に選択する必要があります。 。このガイドでは、このタスクを効率的に実行するためのアプローチについて説明します。
プリペアド ステートメントと動的 SQL の使用
列名を動的に選択するには、プリペアド ステートメントと動的 SQL を利用できます。この手法により、実行時情報に基づいて SQL ステートメントを構築できます。
SELECT c.COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS c WHERE c.TABLE_NAME = 'table_name' AND c.COLUMN_NAME LIKE 'prefix%';
SET @query = CONCAT('SELECT ', GROUP_CONCAT(c.COLUMN_NAME), ' FROM table_name;');
PREPARE stmt FROM @query;
EXECUTE stmt;
メリットと考慮事項
サンプル実装
提供されたコード スニペットは、動的な列選択プロセスを示しています。
CREATE TABLE atable ( prefix1 VARCHAR(10), prefix2 VARCHAR(10), notprefix3 INT, notprefix4 INT ); /* Insert sample data */ SELECT CONCAT('SELECT ', GROUP_CONCAT(c.COLUMN_NAME), ' FROM atable;') INTO @query FROM INFORMATION_SCHEMA.COLUMNS c WHERE c.TABLE_NAME = 'atable' AND c.COLUMN_NAME LIKE 'prefix%' ORDER BY c.ORDINAL_POSITION; PREPARE stmt FROM @query; EXECUTE stmt;
このコードは、テーブル テーブル内の「prefix」で始まる名前の列を動的に選択して表示します。
以上が準備されたステートメントを使用して MySQL で動的カラム名を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。