Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte
hier. Zur Startseite kommen Sie
hier.
Vor Insert prüfen ob in Tabelle Datensatz schon vorhanden!
Hallo ihr,
hab ein kleines Problem mit einem Insert Befehl. Ich trage in meine Tabelle eine Nummer und einen Datumstyp ein. Nun soll vor jedem Insert ersteinmal geprüft werden, ob bereits ein Datensatz mit der Nummer vorhanden ist. Wenn ja, soll dieser gelöscht und der neue (mit neuerem) Datum eingfügt werden.
Das ganze läuft in einer for-schleife:
Code: In Zwischenablage kopieren (nur IE)
momentan wird mir jeder Datensatz (auch doppelte Nummern) eingefügt da ja das Datum unterschiedlich ist bzw. sein kann.
Vielleicht könnte man auch erst einfügen lassen und dann Datensätze mit älterem Datum löschen, allerdings fehlen mir für beide Möglichkeiten ehrlich gesagt die Ideen :(
Dank euch schonmal ganz herzlich!!!
Antworten
Dafuer gibt es REPLACE.
REPLACE tabelle SET nummer='$nummer[$i]' , datum='$today';
REPLACE brauch allerdings einen eindeutigen Primärschlüssel um zu wissen ob der Eintrag schon besteht
2.
Soll heißen, ohne primärschhlüssel geht's nich?!
es gibt aber auch Datensätze, die noch NICHT vorhanden sind. Die müssen natürlich trotzdem eingefügt werden. Wie gesagt alles in der Schleife. Das funktioniert mit replace dann ja sowieso nicht denk ich mal. Also keine funktion die vorher tabelle überprüfen kann??
Dank dir natürlich trotzdem für die Antwort ;)
3.
Zitat:
Soll heißen, ohne primärschhlüssel geht's nich?!
Doch, ein eindeutiger Index reicht auch.
und den zu definieren sollte nicht das Problem sein.
Andere Lösung.
Einfach mit SELECT überprüfgen ob der gewünschte DS schon vorhanden ist,
da empfielt sich aber auch einen Index für die entsprechende Spalte anzulegen.