MySQL: 特定のフィールドを変更しながら行をコピーする方法


  1. INSERT文とSELECT文を組み合わせる方法:
INSERT INTO テーブル名 (フィールド1, フィールド2, フィールド3, ...)
SELECT
  変更後の値1,
  変更後の値2,
  変更後の値3,
  ...
FROM
  テーブル名
WHERE
  条件;

上記のコードでは、INSERT INTO句を使用して新しい行を挿入し、SELECT句を使用してコピー元の行の値を指定します。変更したいフィールドの値は、変更後の値として指定します。テーブル名は対象のテーブル名、条件はコピー元の行を絞り込むための条件です。適宜、フィールドと値を修正してください。

  1. UPDATE文とINSERT文を組み合わせる方法:
INSERT INTO テーブル名 (フィールド1, フィールド2, フィールド3, ...)
SELECT
  変更後の値1,
  変更後の値2,
  変更後の値3,
  ...
FROM
  テーブル名
WHERE
  条件;
UPDATE テーブル名
SET
  フィールド1 = 変更後の値1,
  フィールド2 = 変更後の値2,
  フィールド3 = 変更後の値3,
  ...
WHERE
  条件;

上記のコードでは、まずINSERT INTO句とSELECT句を使用して新しい行を挿入し、その後UPDATE文を使用してフィールドの値を変更します。テーブル名は対象のテーブル名、条件はコピー元の行を絞り込むための条件です。フィールドと値は適宜修正してください。

これらの方法を使用すると、MySQLで行をコピーしながら特定のフィールドを変更することができます。適用したい場面に応じて、適切な方法を選択してください。