Clé étrangère multiple.
Lumbrera
Messages postés
43
Statut
Membre
-
funnycat Messages postés 164 Statut Membre -
funnycat Messages postés 164 Statut Membre -
Salut chers amis, j'aimerais savoir s'il est possible d'afecter plus d'une clé étrangère à une table ? Et si c'est possible sous MySQL, jdite mois svp comment le faire ?
--
MEM.
--
MEM.
2 réponses
-
-
Bonjour.
Si je résume votre demande, vous souhaitez qu'une table possède plusieurs clés étrangères. Par exemple une table table "utilisateur" pourrait avoir une colonne "u_fk_adresse_livraison_id" et une colonne "u_fk_adresse_facturation_id" pour faire référence à la clé primaire d'une table "adresse" contenant des adresses postales.
Oui c'est possible.
Voici un exemple de la documentation officielle pour ajouter plusieurs contraintes :CREATE TABLE product (category INT NOT NULL, id INT NOT NULL, price DECIMAL, PRIMARY KEY(category, id)) TYPE=INNODB; CREATE TABLE customer (id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB; CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT, product_category INT NOT NULL, product_id INT NOT NULL, customer_id INT NOT NULL, PRIMARY KEY(no), INDEX (product_category, product_id), FOREIGN KEY (product_category, product_id) REFERENCES product(category, id) ON UPDATE CASCADE ON DELETE RESTRICT, INDEX (customer_id), FOREIGN KEY (customer_id) REFERENCES customer(id)) TYPE=INNODB;
Source : http://dev.mysql.com/doc/refman/5.0/fr/innodb-foreign-key-constraints.html
En espérant que cela vous aide.
Cordialement,