Philip K.: Unique Index fuer eine Tabelle

Beitrag lesen

Hi,

Danke fuer die Antwort. Es geht nicht darum, dass einzelne Werte nicht doppelte sein koennen, sondern die Kombination von Werte fuer bestimmte Spalten soll nicht doppelt erstellt werden. Wenn jetzt aber fuer eine bestimmten Spalten keine Wert vorhanden ist, wird dieser Datensatz doppelt angelegt und gerade das soll vermieden werden. Also etwa kombination aus col1 col2 col8 col 9 soll unique sein. In folgenden Fall waere Datensatz 1 und 3,4 unique aber eben nicht datensatz 2.

-. col1 col2 col3 ... col8 col9
1. xxxx yyyy uuuu ...
2. xxxx yyyy uuuu ...
3. xxxx yyyy uuuu ... iiii oooo
4. xxxx yyyy uuuu ... iiii kkkk

Wie kann man es loesen, dass der 2. datensatz nicht eingelesen?

Gruss, Philip

Hello,

Dies sollte eigentlich verhindern, dass gewisse Daten doppelt in der Tabelle vorhanden sind. So weit so gut. Jetzt kommt es aber vor, dass zB ein Datensatz keinen Wert fuer column4 enthaelt und null ist. In diesem Fall wird der datensatz angelegt, egal ob die verbleibende Wertkombination bereits exiistiert. Kann man das Problem irgendwie loesen, dass keine Duplikate erstellt werden, also nicht der Fall eintritt:

col1 col2 col3 [...] col8 col9
xxxx yyyy hfff
xxxx yyyy ohuy        <--- Duplikat, da xxxx yyyy bereits existiert

Gibt es hierfuer einen einfachen Lesungsweg?

Wenn Du in einzelnen Spalten keine Duplikate wünschst, musst Du auch die Zwangsbedingung für diese Spalten einzeln definieren und nicht für den Kombinationsschlüssel.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg