Clé étrangère multiple.

Fermé
Lumbrera Messages postés 33 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 4 août 2014 - 5 mai 2013 à 15:52
funnycat Messages postés 153 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 10 mars 2019 - 2 juil. 2013 à 13:42
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 ?
A voir également:

2 réponses

Utilisateur anonyme
7 mai 2013 à 11:17
Salut salut,

Tu utilises phpmyadmin?
0
Lumbrera Messages postés 33 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 4 août 2014
1 juil. 2013 à 12:36
wep!
0
funnycat Messages postés 153 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 10 mars 2019 65
2 juil. 2013 à 13:42
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,
0