sql >> Databasteknik >  >> RDS >> Oracle

ORA-02270:ingen matchande unik eller primär nyckel för denna kolumnlista

Du skapar en sammansatt (eller sammansatt) nyckel genom att göra detta till primärt:

("COURSE_ID", "ACCREDITATION_BODY_ID", "DATE_OBTAINED")

och sedan försöker du skapa ACCREDITATION_BODY_ID en främmande nyckel, som refererar till samma kolumn i samma tabell. Jag vet inte vad du försöker uppnå, men hur som helst är det inte det korrekta sättet att göra det.

Enligt min åsikt är orsaken: ACCREDITATION_BODY_ID måste vara en primärnyckel för att kunna refereras till som en främmande nyckel, men det är inte fallet här. Din tabells begränsning är en sammansatt nyckel , och du måste referera till alla kolumnerna i uttalandet av främmande nyckel. (fixa mig om jag har fel)

Försök att referera till alla sammansatta nyckelkolumner i den främmande nyckelsatsen. Det kan lösa ditt problem.

Förresten, att hänvisa till en primärnyckel som en främmande nyckel i samma tabell var ingen mening för mig (kanske jag missar något men ändå...). Jag skulle överväga att ändra designen.




  1. Finns det något sätt att installera java på Oracle 11g XE?

  2. Beräkna antalet sekunder sedan ett visst datum/tid i SQLite

  3. Felsökning av SQL Server CPU-prestandaproblem

  4. Hur man blir av med STRICT SQL-läge i MySQL