Datenbank: UPDATE oder INSERT
Kalle_
- php
Hallöle,
in einer Datenbank-Tabelle muss ich immer wieder in 100-200 bestimmten Sätzen ein Kennzeichen auf 1 setzen. Also 100 - 200 Zugriffe.
Wenn der Satz schon da ist, mache ich also ein UPDATE. Aber um zu wissen, OB er da ist, müsste ich ihn erst lesen. Macht 200 - 400 Zugriffe.
Frage 1: Wie erfahre ich, ob das Update durchgeführt wurde? Wenn ich mit PHPMyAdmin arbeite, wird die Anzahl der geänderten Sätze angezeigt.
Wenn KEIN Satz geändert wurde, muss ich ihn anlegen. Macht 300 - 600 Zugriffe.
Frage 2: Gibt es unter MySql so etwas wie "UPDATE or INSERT", damit es bei 100 - 200 Zugriffen bleibt?
LG Kalle
hi,
Frage 1: Wie erfahre ich, ob das Update durchgeführt wurde? Wenn ich mit PHPMyAdmin arbeite, wird die Anzahl der geänderten Sätze angezeigt.
Frage 2: Gibt es unter MySql so etwas wie "UPDATE or INSERT", damit es bei 100 - 200 Zugriffen bleibt?
hilft REPLACE weiter?
"REPLACE funktioniert genau wie INSERT, ausser dass der alte Datensatz gelöscht wird, bevor ein neuer eingefügt wird, wenn ein alter Datensatz in der Tabelle denselben Wert wie der neue auf einem eindeutigen Index hat."
gruß,
wahsaga
hi,
Danke, das habe ich gesucht. Übrigens: Wusste gar nicht, dass unter php.net auch sql abgehandelt wird. Hab's immer nur wie ein Lexikon benutzt und nur das gefunden, wonach ich suchte.
REPLACE weiter?
"REPLACE funktioniert genau wie INSERT, ausser dass der alte Datensatz gelöscht wird, bevor ein neuer eingefügt wird, wenn ein alter Datensatz in der Tabelle denselben Wert wie der neue auf einem eindeutigen Index hat."
In diesem Fall geht's nicht, weil die Sätze noch weitere Daten haben können.
Ich denke, ich mache auf Verdacht ein INSERT, weil neuer Satz doch häufiger vorkommt als Satz ändern. Bei Fehler (wenn Satz schon vorhanen) ein UPDATE.
Schade eigentlich, so mancher Zugriff zuviel.
LG Kalle