sql >> Databáze >  >> RDS >> Oracle

ORA-02270:žádný odpovídající jedinečný nebo primární klíč pro tento seznam sloupců

Vytváříte složený (nebo složený) klíč tím, že toto uděláte jako primární:

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

a poté se pokusíte vytvořit ACCREDITATION_BODY_ID cizí klíč odkazující na stejný sloupec ve stejné tabulce. Nevím, čeho se snažíte dosáhnout, ale každopádně to není správný způsob, jak to udělat.

Dle mého názoru Důvod je: ACCREDITATION_BODY_ID musí být primární klíč, aby se na něj odkazovalo jako na cizí klíč, ale v tomto případě tomu tak není. Omezení vaší tabulky je složený klíč a musíte uvést všechny sloupce v příkazu cizího klíče. (opravte mě, pokud se mýlím)

Zkuste odkazovat na všechny sloupce složeného klíče v příkazu cizího klíče. To může vyřešit váš problém.

Mimochodem, odkazování na primární klíč jako na cizí klíč ve stejné tabulce mi nedávalo žádný smysl (možná mi něco chybí, ale stejně ..). Zvážil bych změnu designu.




  1. jak přidat, upravit a odstranit hodnotu databáze oddělenou čárkou.?

  2. Zkontrolujte, zda je tabulka sqlalchemy prázdná

  3. Dotaz PHP MySQL se nevloží

  4. Vytvořte novou tabulku z modulu Magento