変数に基づく MySQL での動的フィールド選択
データベース プログラミングでは、変数値に基づいてフィールドを動的に選択することがよく必要になります。これは、フィールド名が不明であるか動的に変化するシナリオで特に役立ちます。
文字列変数を使用したフィールド選択
質問: ですか?名前が文字列変数に格納されているフィールドを選択することが可能MySQL?
SELECT 'fieldname' FROM table;
答え: はい、文字列変数を使用して MySQL ステートメントを動的に構築することができます:
SET @fieldname = 'name'; SELECT @fieldname FROM table;
を使用した動的更新分野変数
質問: MySQL のフィールド名を表す変数を使用してテーブルの更新を実行するにはどうすればよいですか?
SET fieldname = NEW.`name`; UPDATE table SET fieldname = 1;
回答: MySQL では、任意の文字列をフィールド名として直接使用することはできません。ただし、MySQL の PREPARED STATEMENTS 機能を使用した回避策を採用できます:
SELECT columnname FROM queries INTO @colname; SET @table = 'mytable'; SET @s = CONCAT('SELECT ', @colname, ' FROM ', @table); PREPARE stmt FROM @s; EXECUTE stmt;
これにより、変数 @colname に格納されている値に基づいて、動的なフィールド名を持つ準備済みステートメントを作成できます。
以上が変数を使用して MySQL フィールドを動的に選択および更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。