Mit UNIQUE doppelte Datensätze verhindern

annalena49

Mitglied
Hi,

UNIQUE auf Bestellnr soll doppelte Datensätze beim import in 2. Tabelle verhindern. Stattdessen erscheint Fehlermeldung:
Duplicate entry '21447' for key 2
und der Vorgang wird abgebrochen.
Wie kann ich Meldung und Abbruch umgehen?

mfg
Annalena
 
In dem du keine doppelten Datensätze einfügst?

Wie genau ist denn die Problemstellung, auf die UNIQUE die Antwort gewesen ist?
 
Hi,

und wo ist da jetzt das Problem? Laut Threadtitel und Beschreibung wolltest Du doch doppelte Einträge verhindern und genau das ist passiert...

LG
 
nein - bisher ist leider noch nichts passiert.
Es erscheint die Fehlermeldung und anschließend wird der Import abgebrochen.
Ich würde lieber keine Fehlermeldung (mir ist ja bekannt das dort Doppelte drin sind) und er soll nicht bei Antreffen eines doppelten Datensatzes den ganzen Import abbrechen.
Lässt sich Meldung und Abbruch unterbinden?
 
Ich rate jetzt einfach mal.
Sie möchte aus zwei Datenbanken eine machen. In beiden Datenbanken stehen die gleichen Bestellnummern drin und diese möchte sie einfach zusammen fassen.

Wie das jetzt am einfachsten läuft weis ich aber nicht ;)
 
Hi,
habe es jetzt anders (besser) gelöst, indem ich nach der Ursache der doppelten Einträge gesehen und gefunden habe. Nun gibt es keine Doppelten mehr und brauche daher auch keine mehr zu löschen.
Vielen Dank an alle die mit nach einer Lösung gesucht haben.

mfg
Annalena
 
Nachtrag zur Vollständigkeit: Eine einfachere und schnellere Lösung ist das Hinzufügen des Schlüsselworts IGNORE, in etwa so:
SQL:
INSERT IGNORE INTO `mytable` ...

Des Weiteren ist hin und wieder folgendes Konstrukt sinnvoll:
SQL:
INSERT INTO `mytable`
    ...
ON DUPLICATE KEY UPDATE
    `mycol` = `mycol` + 1;

Nachteil beider Erweiterung ist eine etwas geringere Performance, sowie die mögliche Verdeckung weiterer Probleme.
 
Zurück