0

「メイン」と「インポート」の2つのテーブルがあります

インポートにはフィールドid、a、b、c、dがあります

メインにはフィールドid、a、b、c、d、x、y、zがあります

Main はアプリケーションで使用するテーブルで、Import は Web サービスから取得したデータをダンプするテーブルです。

Main に (ID によって) 既に存在する Import のすべてのエントリについて、x、y、または z を変更せずに a、b、c、または d のいずれかが変更された場合 (インポート後にデータが追加された)、Main を更新する必要があります。

私は現在、このようなものを持っています

UPDATE Main, Import
Main.a = Import.a, 
Main.b = Import.b, 
Main.c = Import.c, 
Main.d = Import.d, 
WHERE 
Main.id = Import.id AND (
Main.a != Import.a OR 
Main.b != Import.b OR 
Main.c != Import.c OR 
Main.d != Import.d)

しかし、これを行うよりエレガントな方法があるかどうか知りたいと思っていました。

私の実際のデータは上記のように構成されていますが、さらに多くのフィールドがあります。

4

1 に答える 1

0

単一のテーブルを使用し、cron ジョブを使用して Web サービス経由でデータを取得し、Web サービス経由で取得したデータに対して JSON と maintian 配列を返します。エントリ oid が変更された場合は、その特定のフィールドを更新してみてください... .

于 2012-07-19T06:19:48.160 に答える