2011-11-09 23 views
0

私は最終的に私のphp/mysql教育ではもはや効率的ではないという点に到達したと思います。だから、これはスタックオーバーフローに関する私の最初の質問です。私はこれを台無しにしないことを望んでいる。2つのテーブルを比較し、追加の行が追加されている場合にのみ2番目のテーブルを更新します

第三者から1日2回テーブルをインポートしています。私は、既存のテーブルにテーブルをインポートしたい。更新の間に、両方のテーブルが変更されます。インポートされたテーブルの行数は異なりますが、既存のテーブルには行の値が変更されます。

既存のテーブルにまだ存在していない行だけを追加したいだけですが、既存のテーブルの変更された値のためにmysqlのREPLACEを使用したくありません。

これを行うにはどうすればいいですか?

答えて

0

INSERT IGNOREを使用している場合は幸運かもしれません。

INSERT IGNORE 
    INTO table1 
SELECT * 
    FROM table2 

これにより、table2のすべての新しい主キー値がtable1に挿入されます。キーが既にtable1に存在する場合は、table2のキーに優先して挿入/置換されません。

+0

パーフェクト!ありがとう、それは素晴らしい仕事! – sllecks

関連する問題