sql >> Database teknologi >  >> RDS >> PostgreSQL

Ingen unik begrænsning, der matcher de givne nøgler til den refererede tabel

Fejlen fortæller dig problemet:Du har ikke en unik begrænsning på date_dimension der matcher din fremmednøglebegrænsning.

Dette fører dog til det større designproblem:Dit udenlandske nøgleforhold giver ingen mening.

Du kan muligvis løse dit "problem" med:

CREATE UNIQUE INDEX date_dimension(id,id);

Men det er dumt, fordi id er altid det samme. Det kan også udtrykkes som:

FOREIGN KEY (evaluation_date) REFERENCES date_dimension(id);

Så slipper du for effective_date kolonne, som altid vil være identisk med evaluation_date i dit eksempel.

Eller... du sandsynligvis virkelig ønsker to FK-forhold:

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


  1. Rails på OSX 10.11 El Capitan:Bibliotek ikke indlæst:libmysqlclient.18.dylib

  2. MySQL MED ROLLUP viser ikke, hvad jeg forventede

  3. Klassen har ikke angivet et tabel- eller tabelnavn og arver ikke fra en eksisterende tabeltildelt klasse

  4. java.sql.SQLException Parameterindeks uden for område (1> antal parametre, som er 0)