Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
✔INSERT aber nur wenn Datensatz noch nicht vorhanden ist.
Hi,
das hängt von dem Aufbau der Tabelle ab. Du brauchst ein Unique Erkennungsmerkmal, das aus einer oder mehreren Eigenschaften des Datensatzes besteht (idealerweise nimmt man diese Spalte auch als Primärschlüssel). Z.b. kannst du bei einer Newsletteranmeldung überprüfen ob die Emailadresse schon einmal eingetragen wurde. Gibt es keine einzelne Eigenschaft (oder Summe aus Eigenschaften) die einen Datensatz eindeutig Identifizierbar machen ist ein 100 % iges verhindern doppelter Einträge nicht möglich, da es ja auch kein Merkmal gibt das sie als solche erkennbar macht.
Die Ausführung ist es ganz einfach - du bastelst eine Abfrage mit den gefundenen eindeutigen Bedingungen - Wenn die Anzahl der als Antwort gelieferten Datensätze > 0 ist, dann gibts den Eintrag schon, sonst schreibst du einen ganz normalen INSERT....
Kann ich das nicht in einer Zeile z.B. mit NOT IN machen?
Wenn ich das Feld unique setze, dann bekomme ich eine fehlermeldung sobald ich mehrere datensätze, die gleich sind einfügen will.
das ist das problem.
Mit "NOT IN" ist mir nichts bekannt. Wenn du alles in einem Statement lösen willst sollte es meines Wissens nach auch eine möglichkeit mit "INSERT.... ON DUPLICATE ...." geben. Habs aber selber noch nie verwendet.