0

読んだ記事の記録を保持するために使用している Readability からの RSSフィードがあります。タイトルと URL を取得し、自分で使用するためにデータベースに挿入しています。

ただし、私の INSERT はフィード全体を取得し、毎回再挿入しようとしているようで、重複エラーが発生しています (こちらを参照)。今、私は使用してそのエラーを削除できることを知っていますが、INSERT IGNOREこれについて別の方法はありますか?

おそらく、次のようなことを行うことによって:

DB の最後のエントリをチェック => 最後のエントリを配列データと比較 => 存在しないものを DB に INSERT します。

4

2 に答える 2

1

確かに、あなたは正しい考えを持っています。データベースから最新の日時を取得してそれよりも新しいアイテムのみを挿入するか、(本当に完全にしたい場合) データベースからすべてを取得し、フィード内のすべてのものと比較して、そうでないアイテムのみを挿入することができます。データベースにすでにあるものと一致します。しかし、質問のタイトルに示されているように、INSERTで新しいデータのみを挿入したい場合は、それINSERT IGNOREが道であり、間違いなく最も単純な実装でもあります。データベースのトラフィックの量について懸念がない限り、私はそのまま使用します。

于 2013-07-22T20:32:29.347 に答える