Alex: Datensatz ergänzen oder löschen

Beitrag lesen

Hallo dedlfix,

INSERT mit ON DUPLICATE KEY UPDATE und danach ein DELETE wird es wohl werden müssen.

Auf dem ersten Blick erscheint mir "ON DUPLICATE KEY UPDATE" sehr passend. Vielen Dank dafür.

****

Vlt. hat ja wer noch einen Tipp, wie ich das am im Weiteren angehe. Für mich stellen sich zwei fragen.

(1) Wenn ich das Ergebnis meiner Abfrage in $ergebnis gespeichert habe:

  
$abfrage = SELECT benutzer.name FROM benutzer INNER JOIN optionen ON  (benutzer.id = optionen.id) WHERE (optionen.option = 1);  
$ergebnis = mysql_query($abfrage);  

Kann ich es von dort direkt für das Updpate nutzen? Bin bisher immer den Weg darüber gegangen, dass ich mir das $ergebnis mit mysql_fetch_assoc als Array habe liefern lassen, um es dann über eine foreach-Schleife in eine Tabelle einzufügen. Da ich die Daten hier aber nicht verändere, sollte es doch ohne den Umweg über das Array möglich sein, die Abfrage direkt für das Update zu nutzen, oder?

(2) Ich will ja alle Datensätze außer die gelieferten löschen. Ich wüsste mir hier jetzt nur mit DELETE ... WHERE NOT ... zu helfen. Bräuchte ich dann hier spätestens wieder ein Array oder kann ich auch hier (falls es zu (1) etwas gab), direkt mit dem SQL-Ergebnis weiterarbeiten?