Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-02270:brak pasującego klucza unikalnego lub podstawowego dla tej listy kolumn

Tworzysz klucz złożony (lub złożony) ustawiając to jako podstawowe:

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

a następnie próbujesz utworzyć ACCREDITATION_BODY_ID klucz obcy, odwołujący się do tej samej kolumny w tej samej tabeli. Nie wiem, co chcesz osiągnąć, ale i tak nie we właściwy sposób.

Moim zdaniem Powód to: ACCREDITATION_BODY_ID musi być kluczem podstawowym, aby można było się do niego odwoływać jako klucz obcy, ale tak nie jest w tym przypadku. Ograniczeniem tabeli jest klucz złożony i musisz odwołać się do wszystkich kolumny w wyciągu klucza obcego. (napraw mnie, jeśli się mylę)

Spróbuj odwołać się do wszystkich kolumn kluczy złożonych w instrukcji klucza obcego. To może rozwiązać twój problem.

Nawiasem mówiąc, odwoływanie się do klucza podstawowego jako do klucza obcego w tej samej tabeli nie miało dla mnie sensu (może czegoś mi brakuje, ale nadal ...). Rozważę zmianę projektu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z oci_parse i oci_execute

  2. Ubuntu ORA-24960:atrybut OCI_ATTR_USERNAME jest większy niż maksymalna dopuszczalna długość 255

  3. Jak mogę zabezpieczyć moje połączenie DB przed awarią, gdy sieć jest niestabilna?

  4. Wyciąg Oracle z wartości obcinania xml

  5. Baza danych:funkcje potokowe