Ошибка 1215: невозможно добавить ограничение внешнего ключа в мой SQL

У меня есть родительская таблица с именем gym_member, и дочерняя таблица с именем medical_history.

В таблице gym_member есть два первичных ключа: gm_id и student_id.

В таблице истории болезни есть один первичный ключ, который называется mh_id, и я хочу добавить внешний ключ, который является student_id, но он показывает мне эту ошибку.

ALTER TABLE `hct_gym`.`medical_history` 

ADD CONSTRAINT `student_id`

  FOREIGN KEY (`student_id`)

  REFERENCES `hct_gym`.`gym_member` (`student_id`)

  ON DELETE NO ACTION

  ON UPDATE NO ACTION;

Операция не удалась: произошла ошибка при применении сценария SQL к базе данных.

ОШИБКА 1215: Невозможно добавить ограничение внешнего ключа

Оператор SQL:

ALTER TABLE `hct_gym`.`medical_history` 

ADD CONSTRAINT `student_id`

  FOREIGN KEY (`student_id`)

  REFERENCES `hct_gym`.`gym_member` (`student_id`)

  ON DELETE NO ACTION

  ON UPDATE NO ACTION

Я хочу знать, где проблема?


person Ayooma Y    schedule 15.04.2015    source источник
comment
Является ли столбец hct_gym.gym_member.student_id первичным ключом или другим ключом?   -  person jarlh    schedule 15.04.2015
comment
jarlh - да, этот столбец является первичным ключом   -  person Ayooma Y    schedule 16.04.2015


Ответы (1)


Проверьте, содержит ли столбец medical_history.student_id значения, которых нет в gym_member.student_id.

Это противоречило бы ограничению до/во время его создания.

person DanielFo1.    schedule 15.04.2015