2 つのテーブルを含む 2 つの MySQL データベースがあります。TABLE_A と TABLE_B と呼びましょう。これらのテーブルは両方とも、フィールドとしてid
とを持っていますtitle
。両方のデータベースが同じサーバー上にあり、同じユーザーが両方にアクセスできます。
現在、TABLE_A は、title
フィールドに関係するもののための TABLE_B のサブセットです。これは、TABLE_A のすべてtitle
が TABLE_B にも存在することを意味します。id
2 つのテーブルのフィールドはまったく関連していません。
必要なのは、タイトルに従って、TABLE_A のフィールドをid
TABLE_B のフィールドと同期させることです。つまり、 same 、 sameです。明確でない場合は、TABLE_B を保存し、TABLE_Aを上書きする必要があります。そして、TABLE_B から TABLE_A への欠落を追加する必要はありません。id
title
id
id
title
TABLE_A と共通のすべての TABLE_B フィールドをコピーしてから、TABLE_A に名前を変更するテンポラル テーブルを使用することを誰かが提案しました。TABLE_A には実際に維持する必要がある他のフィールドもあるため、この方法をたどることはできません。したがって、古い TABLE_A を完全に削除することはできません。
さらに、id
両方のテーブルの主キーです。これは、TABLE_B から TABLE_A に単純にコピーできないことを意味します。TABLE_A にid
既に存在するが別のtitle
.
それを行うための Perl または PHP スクリプトの書き方は知っていますが、純粋な MySQL ソリューションが存在するかどうかを知りたいです。