次の表を検討してください。
+---------------------------------------------------------+
| relationships |
+---------------------------------------------------------+
| id | user_id_1 | user_id_2 | status_1 | status_2 |
+----+------------+--------------+------------------------+
| | | | | |
| | | | | |
| | | | | |
| | | | | |
+---------------------------------------------------------+
user_id_1 と user_id_2 を制約したいのですが、次のような重複は望ましくありません。
user_id_1 = 1 and user_id_2 = 2
user_id_1 = 2 and user_id_2 = 1
これら 2 つは、私のアプリケーションでは基本的に同じです。
重複を避けるための私の戦略は、挿入する前に user_id を注文し、常に小さい方を user_id_1 に、大きい方の ID を user_id_2 に入れて、元の問題を効果的に回避することです。
しかし、同じ結果を達成するためのより良い、よりクリーンな方法はありますか?