Mysql
 sql >> база данни >  >> RDS >> Mysql

Код на грешка:1822, когато типовете данни съвпадат, със съставен ключ

Проблемът се дължи на факта, че външният ключ, subj_code , е част от многоколона първичен ключ (PK) в посочената таблица enrolment :

primary key (stud_id, subj_code, semester, year)

където тази колона (subj_code ) не е най-лявата .

Таблица student няма този проблем, защото колоната му с външен ключ stud_id е най-лявата колона на PK в посочената таблица.

За да разрешите това, можете да създадете нов индекс за препращаната колона:

ALTER TABLE enrolment ADD INDEX subj_code_idx (subj_code);

Забележка: Трябва да направите същото за реферираната таблица grade в другия външен ключ.

Демо тук



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не мога да накарам заявката за източник на MySQL да работи с помощта на Python mysqldb модул

  2. symfony 1.4 propel:build-all не работи на Mysql 5.5

  3. php+mysql:вмъкнете php масив в mysql

  4. Динамична конфигурация на пощата със стойности от база данни [Laravel]

  5. Двигател за промяна на таблицата в MySQL