2016-02-02 19 views
1

我想做一个以下/追随者类型的概念,许多社交网络。我有2个INT字段,称为me以下,那些INT字段由用户唯一ID组成。我想这样做,如果用户23跟随用户7或23-> 7,则用户23不能再跟随用户7,因为关系已经存在。上面的第一个2行是31-> 27或用户31以下27两倍是冗余的这个图象情况搞清楚Postgres我怎样才能使2个数字领域彼此独特

enter image description here

的通知。是否有一些限制可以用来防止这种情况发生?我正在使用postgres版本9.4

回答

1

您可以通过创建唯一索引来完成此操作。但不是任何唯一的索引,一个表达式:

create unique index unq_t_me_following 
    on (least(me, following), greatest(me, following)); 
+0

谢谢你的工作 – user1949387