sql >> Databasteknik >  >> RDS >> PostgreSQL

Inga unika begränsningar som matchar givna nycklar för refererad tabell

Felet talar om för dig problemet:Du har ingen unik begränsning för date_dimension som matchar din främmande nyckel-begränsning.

Detta leder dock till det större designproblemet:Din främmande nyckelrelation är inte meningsfull.

Du kan möjligen lösa ditt "problem" med:

CREATE UNIQUE INDEX date_dimension(id,id);

Men det är dumt, eftersom id är alltid densamma. Det kan också uttryckas som:

FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);

Ta sedan bort effective_date kolumn, som alltid skulle vara identisk med evaluation_date i ditt exempel.

Eller... du förmodligen på riktigt vill ha två FK-relationer:

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


  1. Mysql Slow Insert

  2. Konstigt beteende hos gruppen av i fråga som behöver optimeras

  3. Det gick inte att ställa in trådstackstorleken i mysql

  4. Finns det något sätt att lägga till kolumn på en angiven position i Oracle-tabellen?