4

クライアント用の MySQL データベースを使用して Web ショップを開発しています。このクライアントは、すでに MySQL データベースを備えた請求書管理 Web サイトです。

ここで、請求書、クライアント、および製品レコードを同期するために、cronjob によってトリガーされる php スクリプトを作成したいと考えています。

注文記録:

id | clientId | status | shipping | reduction

*order_items レコード:*

id | productId | price |amount | orderId

クライアントレコード:

id | fname | name | email | ...

の注文レコードのみをstatus = 2同期する必要があることに注意してください。同期が完了すると、ステータスが に変わり3ます。

両方のデータベースは、注文と請求書に異なるテーブルを使用しています

これを行う最善の方法は何ですか?

4

3 に答える 3

0

1) レコードを選択する
2) レコードをループする
3) トランザクションを開始する (オプション)
4) db2 にレコードを挿入する
5) db1 でレコードを更新する
6) コミットする

于 2012-09-04T08:09:49.660 に答える
0

データベースは MySQL の別のインスタンスで実行されていますか?

もしそうなら...

これを行う最善の方法は何ですか?

両方のシステムで同じデータベース構造を使用し、mysql の非同期レプリケーションを使用します。

それができない場合は、フェデレーテッド エンジンを使用して、あるインスタンスから別のインスタンスのテーブルにアクセスし、以下の同じインスタンスの手順に従います。

同じ MySQL インスタンスの場合....

同期するすべてのソース テーブルにインデックス付きの更新タイムスタンプがあることを確認し、最後のキャプチャ以降に変更されたコピー対象のレコードをコピーします。

于 2012-09-04T08:19:02.807 に答える