ホームページ >データベース >mysql チュートリアル >異なるフィールド構造を持つ MySQL テーブル間でデータをコピーするにはどうすればよいですか?

異なるフィールド構造を持つ MySQL テーブル間でデータをコピーするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-23 02:33:13193ブラウズ

How Can I Copy Data Between MySQL Tables with Different Field Structures?

MySQL のテーブル間でのデータのコピー

問題:
既存のテーブルからデータを転送するにはどうすればよいですか(以降、テーブル 1 と呼びます) を MySQL で新しく作成したテーブル (テーブル 2) に追加しますか?テーブル 1 には特定のフィールドが含まれていますが、テーブル 2 は異なるフィールドのセットで設計されています。

解決策:

この要件を満たすために、MySQL はデータを挿入するメソッドを提供します。 INSERT INTO 構文を使用して別のテーブルから選択することにより、テーブルに追加します。この手法を使用して、フィールドをテーブル 1 からテーブル 2 に選択的にコピーできます。

次のクエリは、効果的にタスクを実行します。

INSERT INTO table2 (st_id, uid, changed, status, assign_status)
SELECT st_id, from_uid, now(), 'Pending', 'Assigned'
FROM table1;

このクエリは次のように動作します。

  • ターゲット テーブル table2 は INSERT INTO ステートメントで指定されています。
  • table2 内のフィールドデータを受け取るものは括弧内にリストされています。
  • SELECT ステートメントは、テーブル 1 からコピーされるデータを定義します。
  • テーブル 1 の列は、テーブル 2 の対応するフィールドにマップされます。この場合、st_id、from_uid、現在のタイムスタンプ (now())、「保留中」、および「割り当て済み」がコピーされます。 table2.
  • 表 1 のデータセット全体をコピーする場合は、セミコロン (;) を使用してクエリを終了する必要があります。あるいは、WHERE 句を SELECT ステートメントに追加して、コピー操作の行の特定のサブセットを選択することもできます。

以上が異なるフィールド構造を持つ MySQL テーブル間でデータをコピーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。