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を実行する。

bannerAds