Два внешних ключа в одном столбце из одной таблицы

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

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

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

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


person makeflo    schedule 14.04.2010    source источник


Ответы (1)


Вот как я это сделал (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, поэтому не используйте его.

person pzr    schedule 14.04.2010
comment
@prz: ты сделал свое дело! когда я не использую ON DELETE CASCADE, это работает. Спасибо!!! - person makeflo; 14.04.2010
comment
Вы, ребята, знаете, в чем проблема с ON DELETE CASCADE здесь? - person quickshiftin; 17.12.2011