Frage von anonym111222, 28

INSERT INTO auslassen falls der Wert bereits vorhanden ist?

Hallo zusammen

In meiner Datenbank (raspberrypidb) habe ich in der Tabelle 'ip' 2 Spalten. Einmal die 'userid' welche AUTO INCREMENT hat und noch die 'adresse'. Nun kommt immer ein neuer Wert in die Adresse-Spalte mit INSERT INTO... Nun möchte ich aber, dass es nur einen neuen Wert einträgt wen die Adresse anders ist und noch nicht existiert. Wie kann ich das machen?

Danke schon im Voraus :)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von mastema666, 17

Du könntest einfach vorher abfragen ob es bereits einen Eintrag mit der betreffenden IP gibt und den Eintrag nur machen. wenn das noch nicht der Fall ist. 

Oder, imho die elegantere Lösung, die Spalte für die IP einfach "Unique" machen, dann können da von Haus keine doppelten Werte eingetragen werden. (Und dann halt den Eintrag mittels "INSERT IGNORE" durchführen, dann gibts auch keine Fehlermeldung wenn versucht wird einen Datensatz einzutragen dessen IP schon vorhanden ist).

Kommentar von anonym111222 ,

Danke werde es mit IMHO lösen

Antwort
von EightSix, 4

Normalerweise ist so eine Verzweigung im Code schon lange vorher notwendig. Denn wenn mit Daten, die bereits persistent sind, gearbeitet wird so müssen diese in der Datenbank u.U. aktualisiert werden (UPDATE) oder eben ansonsten neue eingefügt werden (INSERT INTO).

Antwort
von anonym111222, 20

Hier noch die DB

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten