Hỏi về UNIQUE CONSTRAINT trong postgres

Em có mẫu table bên dưới

parent_id | child_id
     1          2

Em đã thêm CONSTRAINT cho nó như sau :

ALTER TABLE "example" ADD CONSTRAINT unique_id UNIQUE (parent_id,child_id);

Ok xong phần trùng lặp giữa 2 column . Nhưng ví dụ như em insert :

INSERT INTO "example" VALUES(2,1);

Mình thêm CONSTRAINT như thế nào để 1 - 2 cũng là 2 -1 và nó sẽ báo lỗi duplicate ạ ? Em xin cảm ơn

:V :V :V

CREATE UNIQUE INDEX ON example(LEAST(parent_id, child_id),
                               GREATEST(parent_id, child_id));

hình như (null, null) nó vẫn insert được thì phải :thinking:

3 Likes

Tuyệt vời bạn ơi ! Tks bạn rất nhiều

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?