PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Няма уникално ограничение, съответстващо на дадени ключове за референтната таблица

Грешката ви казва проблема:нямате уникално ограничение за date_dimension който съответства на вашето ограничение за външен ключ.

Това обаче води до по-големия проблем с дизайна:Вашата връзка с външен ключ няма никакъв смисъл.

Евентуално бихте могли да разрешите вашия "проблем" с:

CREATE UNIQUE INDEX date_dimension(id,id);

Но това е тъпо, защото id е винаги едно и също. Може също да се изрази като:

FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);

След това се отървете от effective_date колона, която винаги ще бъде идентична с evaluation_date във вашия пример.

Или... вероятно наистина искат две 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. Как мога да използвам индекс на разделена таблица в postgresql 8.3.7

  2. Как да импортирате CSV файл в PostgreSQL

  3. СЛУШАЙТЕ времето за изчакване на заявката с node-postgres?

  4. Открийте дали редът е актуализиран или вмъкнат

  5. Postgres затваря връзката по време на заявка след няколкостотин секунди, когато използва Psycopg2