SQL: Legen Sie nur neue Zeilen/Datensätze in einer Tabelle?

Ich bin Parsen einer json-feed regelmäßig und einfügen muss nur der neueste Benutzer aus dem Futter und ignorieren der vorhandenen Benutzer.

Denke ich, was ich brauche, ist ON DUPLICATE KEY UPDATE oder INSERT IGNORE basierend auf einigen gesucht, aber ich bin mir nicht ganz sicher, deshalb Frage ich ja - also zum Beispiel:

users
1     John
2     Bob

Teilweise JSON:

{ userid:1, name:'John' },
{ userid:2, name:'Bob' },
{ userid:3, name:'Jeff' }

Von diesem Futter möchte ich nur einfügen, Jeff. Ich konnte nicht eine einfache Schleife über alle Benutzer und nicht eine einfache SELECT-Abfrage und sehen, ob die Benutzer-id ist bereits in der Tabelle, wenn nicht Mach ich ein INSERT, aber ich vermute, es wird nicht sein, eine effiziente und praktische Methode.

Übrigens, ich bin mit der Zend_Db für die Datenbank-Interaktion, wenn jemand möchte, um zu bieten eine spezifische Antwort 🙂 ich bin nicht dagegen, eine generische strategische Lösung wenn.

Schreibe einen Kommentar