Ich habe eine Tabelle wie diese:Wie kann ich eine eindeutige SQL-Einschränkung basierend auf 2 Spalten erstellen?
|UserId | ContactID | ContactName
---------------------------------------
| 12456 | Ax759 | Joe Smith
| 12456 | Ax760 | Mary Smith
| 12458 | Ax739 | Carl Lewis
| 12460 | Ax759 | Chuck Norris
| 12460 | Bx759 | Bruce Lee
Ich brauche eine Einschränkung dieser Tabelle hinzugefügt werden, so dass kein Benutzer doppelte Kontakt-IDs haben kann. Die Benutzer importieren Daten von verschiedenen externen Systemen, so dass ContactId nicht eindeutig ist, sondern für jeden Benutzer eindeutig ist.
Ich weiß, wie man Eindeutige und Nicht-Null-Constraints basierend auf einzelnen Spalten erstellt, aber wie kann ich eine eindeutige Einschränkungen über 2 Spalten erstellen?
Was ist der Unterschied zwischen den beiden Methoden? Gibt es bestimmte Fälle, in denen der eine dem anderen vorgezogen wird? Wird der Indexansatz bei einem großen Datensatz schneller sein? – Zapnologica
@Zapnologica Bitte überprüfen Sie diese andere Frage zu diesem speziellen Thema: http://dba.stackexchange.com/questions/144/when-should-i-use-a-unique-constraint-instead-of-a-unique-index – Jonathan