Ich habe zwei Tische: einen user
Tisch und einen friendship
Tisch. Angenommen, die friendship
Tabelle sieht folgendermaßen aus:
friendship
------------
user_one_id
user_two_id
other_fields
Ich brauche die Durchsetzung Einzigartigkeit der Kombination von Werten (user_one_id, user_two_id)
und ignorieren Sie die Bestellung , so:
user_one_id | user_two_id
------------+------------
1 | 2
2 | 1 -- the DBMS should throw a unique constraint error when trying to insert a row like this one.
Ein weiterer wichtiger Punkt ist, dass user_one_id
er den Initiator von friendship
und user_two_id
den Empfänger darstellt , sodass ich nicht einfach die "kleinere" der beiden IDs machen kann user_one_id
.
Die Frage
Gibt es eine Möglichkeit, dies mithilfe von Einschränkungen zu tun, oder sollte ich dies auf eine andere Weise implementieren?