Tôi có một bảng "bình luận" mô hình cuộc hội thoại về một chủ đề, như thế này:
id serial
topic_id integer
parent_comment_id integer
body text
Vì vậy, mọi bình luận đều có một tham chiếu đến chủ đề của nó VÀ cuối cùng là bình luận chính của nó (nếu đó không phải là bình luận đầu tiên về chủ đề này).
Tôi muốn thêm một ràng buộc sẽ ngăn việc thêm các hàng có chủ đề / phụ huynh không khớp (ví dụ: bằng cách tham chiếu một chủ đề không có nhận xét bắt buộc hoặc ngược lại nhận xét tham chiếu chủ đề sai).
Điều này có thể không? Là một kích hoạt cần thiết?
(Đối với hồ sơ, tôi đã thử
ALTER TABLE comments ADD FOREIGN KEY (parent_comment_id, topic_id)
REFERENCES comments (id, topic_id)
nhưng nó phàn nàn rằng there is no unique constraint matching given keys for referenced table "comments"
)