2010-04-14 16 views
4

J'ai une table de projet qui a un champ image_id et un champ newsimage_id.Deux clés étrangères sur la même colonne d'une table

Les deux sont liés à la table d'images. Mais InnoDB ne me permet pas de définir une clé étrangère pour les deux champs à la même colonne (id).

Y at-il un moyen de le faire ou est-ce impossible? J'utilise MySQL via MAMP.

Merci d'avance !!

Répondre

5

Voilà comment je l'ai fait (MySQL 5.0.45):

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

Il y a des problèmes avec ON SUPPRIMER CASCADE dans cette situation, ne l'utilisez pas.

+1

@prz: vous avez fait l'affaire! quand je n'utilise pas DELETE CASCADE cela fonctionne. Merci!!! – makeflo

+0

est-ce que vous savez quel est le problème avec ON DELETE CASCADE ici? – quickshiftin