PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Không có ràng buộc duy nhất phù hợp với các khóa đã cho cho bảng được tham chiếu

Lỗi cho bạn biết sự cố:Bạn không có ràng buộc duy nhất đối với date_dimension phù hợp với ràng buộc khóa ngoại của bạn.

Tuy nhiên, điều này dẫn đến vấn đề thiết kế lớn hơn:Mối quan hệ khóa ngoài của bạn không có ý nghĩa gì.

Bạn có thể giải quyết "vấn đề" của mình với:

CREATE UNIQUE INDEX date_dimension(id,id);

Nhưng thật ngu ngốc, bởi vì id luôn luôn như vậy. Nó cũng có thể được diễn đạt như sau:

FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);

Sau đó, loại bỏ effective_date cột này sẽ luôn giống với evaluation_date trong ví dụ của bạn.

Hoặc ... bạn có thể thực sự muốn có hai mối quan hệ FK:

FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);
FOREIGN KEY (effective_date) REFERENCES date_dimension(id);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng regex ở WHERE trong Postgres

  2. Ngày JSONb:ngày thực tế trong nội bộ?

  3. Gỡ lỗi hàm PostgreSQL bằng pgAdmin

  4. Không thể mở kết nối do Tập kết quả này bị đóng

  5. Làm thế nào để đăng ký người dùng mới nhận thông báo?