Ich analysiere einen JSON-Feed routinemäßig und muss nur die neuesten Benutzer aus dem Feed einfügen und vorhandene Benutzer ignorieren.SQL: Nur neue Zeilen/Datensätze in eine Tabelle einfügen?
Ich denke, was ich brauche, ist ON DUPLICATE KEY UPDATE
oder INSERT IGNORE
auf einiger Suche basierte, aber ich bin nicht ganz sicher, weshalb ich frage - so zum Beispiel:
users
1 John
2 Bob
Teil JSON:
{ userid:1, name:'John' },
{ userid:2, name:'Bob' },
{ userid:3, name:'Jeff' }
Von diesem Feed möchte ich nur Jeff einfügen. Ich könnte eine einfache Schleife durch alle Benutzer tun und eine einfache SELECT-Abfrage machen und sehen, ob die Benutzer-ID bereits in der Tabelle ist, wenn nicht, mache ich einen INSERT, aber ich vermute, dass es keine effiziente und praktische Methode ist.
Übrigens verwende ich Zend_Db für die Datenbank-Interaktion, wenn jemand eine bestimmte Antwort liefern möchte :) Ich habe keine Probleme mit einer allgemeinen strategischen Lösung.
Irgendwie falsch verstehe ich die Frage nach der Notwendigkeit, vorhandene Benutzer zu aktualisieren, falls sie gefunden werden, andernfalls als neue einfügen. well ... down-voting –