Ich versuche, eine eindeutige Einschränkung für zwei Felder in einer Tabelle zu erstellen. Es besteht jedoch eine hohe Wahrscheinlichkeit, dass eine Null ist. Ich fordere nur, dass sie eindeutig sind, wenn beide nicht null sind (name
wird niemals null sein).Wie kann ich einen eindeutigen Index in Oracle erstellen, aber Nullen ignorieren?
create unique index "name_and_email" on user(name, email);
Ignorieren Sie die Semantik der Tabellen- und Feldnamen und ob das Sinn macht - ich einige gerade aus.
Gibt es eine Möglichkeit, eine eindeutige Integritätsbedingung für diese Felder zu erstellen, die die Eindeutigkeit für zwei Werte ungleich null erzwingt, aber ignoriert, wenn mehrere Einträge name
nicht null sind und email
null ist?
Diese Frage ist für SQL Server, und ich hoffe, dass die Antwort ist nicht das Gleiche: How do I create a unique constraint that also allows nulls?
+1, FBI, um die Rettung ;-) – DCookie
Dank Mann, großes Lob an Sie! –