0

2 つの異なる場所に 2 つの SQL サーバーがあります。

1 つは Web サーバーで、もう 1 つは CRM システムです。

人々はウェブ上で更新して登録します。変更を行うときは、変更を自分の CRM サーバーに挿入または更新する必要があります。

選択できるWebサーバーのビューがありますが、選択する必要があります

insert into on duplicate update only fields that changed and then in a description 
show     
wich fields were updated?

どうやって始めたらいいのかわからない。

4

2 に答える 2

0

フィールドを変更した後、フィールドの違いを判断することはできません。

ただし、更新前のコンテンツを選択して保存し、新しいコンテンツと比較することはできます。

質問は次のようになります:列ごとの違いが必要ですか?

  • はいの場合: (アプリケーションで) 事前に選択して違いを自分で実行します。
  • いいえの場合: @Ogelami で説明されている方法を使用します (そして彼の回答を受け入れます :)

余談ですが、複数の mysql サーバーの使用を開始すると、データのドリフトの問題が発生する可能性があるため (つまり、挿入されたデータで 1 つのサーバーが遅れている)、Pre-Select も機能しません。これが発生すると、メソッドはもう少し複雑になります。

于 2013-03-26T14:12:42.553 に答える
0

おそらくこのようなものですか?

INSERT INTO table ON DUPLICATE UPDATE table SET field = value WHERE field != 'value' これを調べて、影響を受ける行があるかどうかを確認することをお勧めします。

于 2013-03-26T14:08:53.767 に答える