1

問題。

最近、新しいサーバーphp/mysqlに切り替えられたWebサイトがあります。

そのeコマースサイトは、切り替えたときに、切り替えを行った人がサイト上のすべてのページのデータベースを切り替えなかったため、両方のmysqlデータベース(新旧のサーバー)に存在するデータがあります。 、および古いサーバーには存在するが新しいサーバーには存在しない一部のデータ、およびその逆。

2つのデータベースのデータをすべてのデータを含む1つのデータベースにマージする必要があります。

私の解決策:

これを回避する最善の方法は、古いサーバーからデータを取得し、レコードが存在しない場合は新しいサーバーにフィールド(プライマリID以外)が存在するかどうかを確認するphpスクリプトを作成することです。次に、それを新しいサーバーの新しいテーブルに挿入します。

構造はそれほど複雑ではありませんが、ordersテーブルにはorder detailsテーブルへのルックアップフィールドがあります(ordersテーブルの主キーを外部キーとして使用します)

これを行うためのより簡単で迅速な方法に関するアイデアはありますか?phpmyadminに2つのデータベースをマージできるものはありますか?

どんな提案でも大歓迎です。

4

1 に答える 1

1

新しいサーバーでフェデレーションストレージエンジンを使用して、別のテーブルを作成できます。 http://dev.mysql.com/doc/refman/5.5/en/federated-usagenotes.html

次に、単一のSQLクエリ内で両方にアクセスできます。他のホストが古いサーバーに接続することを許可する特権を持っていると仮定します。

于 2012-07-17T12:05:12.213 に答える