MySQL の動的列名データを取得する方法
動的な列名をクエリするには、プリペアドステートメントを使用してCONCAT関数で動的な列名を作成します。例を次に示します。
SET @column_name = 'column1'; -- 设置动态列名
SET @query = CONCAT('SELECT ', @column_name, ' FROM your_table'); -- 构建查询语句
PREPARE stmt FROM @query; -- 准备预处理语句
EXECUTE stmt; -- 执行预处理语句
DEALLOCATE PREPARE stmt; -- 释放预处理语句
この例では、まず動的列名を格納する変数 @column_name を設定します。次に、CONCAT 関数を使用して動的列名をクエリ文に挿入します。続いて、PREPARE ステートメントを使用してプリペアド ステートメントを準備します。最後に、EXECUTE ステートメントを使用してプリペアド ステートメントを実行し、DEALLOCATE PREPARE ステートメントを使用してプリペアド ステートメントを解放します。
なお、上の例では your_table を実際のテーブル名、column1 を実際の動的列名に置き換えてください。
また、動的SQLを利用することで問い合わせ文を構築することもでき、ストアドプロシージャや関数の中でCONCAT関数などを使用して動的SQLを構築し、EXECUTE文で動的SQLを実行する。