Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Kod błędu:1822, gdy typy danych są zgodne, z kluczem złożonym

Problem wynika z faktu, że klucz obcy subj_code , jest częścią wielu kolumn klucz podstawowy (PK) w odnośnej tabeli enrolment :

primary key (stud_id, subj_code, semester, year)

gdzie ta kolumna (subj_code ) jest nie skrajnym lewym .

Tabela student nie ma tego problemu, ponieważ jego kolumna klucza obcego stud_id jest skrajną lewą kolumną PK we wskazanej tabeli.

Aby rozwiązać ten problem, możesz utworzyć nowy indeks dla wskazanej kolumny:

ALTER TABLE enrolment ADD INDEX subj_code_idx (subj_code);

Uwaga: Musisz zrobić to samo dla tabeli odniesienia grade w drugim kluczu obcym.

Pokaz tutaj



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać najnowsze 2 pozycje w kategorii w jednym wyborze (z mysql)

  2. Konwersja daty MySQL do formatu Java

  3. Obliczanie różnicy czasu między 2 datami w minutach

  4. Jak zabić wszystkie procesy w liście procesów Mysql show?

  5. Wyszukiwanie MYSQL REGEXP w ciągu JSON