MySQL テーブルをマージする際の主キーの競合を解決する
構造は同じだが主キーが競合している MySQL テーブルをマージするには、慎重な検討が必要です。 このガイドでは、この課題に対処するための 2 つの効果的な方法について概説します。
INSERT IGNORE
ステートメントは、主キーが一致する場合にのみ、2 番目のテーブルの行が最初のテーブルの既存の行を上書きするという解決策を提供します。 一意の主キーを持つ 2 番目のテーブルの行が最初のテーブルに挿入されます。 このアプローチを以下に示します。
<code class="language-sql">INSERT IGNORE INTO table_1 SELECT * FROM table_2;</code>
あるいは、REPLACE
ステートメントは別のアプローチを提供します。 重複を無視する代わりに、table_1
の一致する主キーを使用して table_2
内の既存の行を更新します。 一意の主キーを持つ新しい行は引き続き追加されます。 構文は次のとおりです:
<code class="language-sql">REPLACE INTO table_1 SELECT * FROM table_2;</code>
INSERT IGNORE
と REPLACE
は両方とも、重複した主キーを持つテーブルをマージする効率的な方法を提供し、データベースの整合性を維持しながらデータを確実に統合します。 既存のデータを上書きまたは更新するなど、目的の結果に最も適した方法を選択してください。
以上が重複した主キーを持つ MySQL テーブルをマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。