Два внешних ключа в одном столбце из одной таблицы - PullRequest
4 голосов
/ 14 апреля 2010

У меня есть таблица проекта, которая имеет поле image_id и поле newsimage_id.

Оба связаны с таблицей изображений. Но InnoDB не позволяет мне устанавливать внешний ключ для оба поля в одном столбце (id).

Есть ли способ, которым я могу это сделать, или это невозможно? Я использую MySQL через MAMP.

Заранее спасибо !!

1 Ответ

5 голосов
/ 14 апреля 2010

Вот как я это сделал (MySQL 5.0.45):

ALTER TABLE `job_dependency`
ADD FOREIGN KEY (`job`) REFERENCES `job` (`id`),
ADD FOREIGN KEY (`dependency`) REFERENCES `job` (`id`);

В этой ситуации возникают проблемы с ON DELETE CASCADE, поэтому не используйте его.

...