Ich habe zwei Tische: einen userTisch und einen friendshipTisch. Angenommen, die friendshipTabelle 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_ider den Initiator von friendshipund user_two_idden 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?