2

テーブルを更新する必要がある mysql ステートメントを作成していますが、通常の方法で列名を何らかの値に等しくなるように設定する代わりに、次のように動的にすることにしました。

UPDATE mytable SET mycolumn = 'a value';

変数を使用します。この場合:

SET @column = 'mycolumn';
UPDATE mytable SET @column = 'a value';

update ステートメントを実行すると、構文エラー メッセージが返されます。これを行う方法はありますか?

4

1 に答える 1

1

あなたはこれを行うことができます:

set @query = 'UPDATE mytable SET @column = ''a value''';
set @query = replace(@query, '@column', 'col_name');
PREPARE stmt1 FROM @query;
EXECUTE stmt1;
于 2012-06-25T13:53:55.483 に答える