Deux clés primaires

Fermé
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 - 31 août 2009 à 15:32
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 - 31 août 2009 à 16:37
Bonjour je suppose mes questions un peu bête mais j'aimerais être sur.

Si dans ma base de donnée je dit que:
idproduit -> primary key
idfamille -> primary key

Je vais bien pouvoir créer des couples tels que
idproduit - idfamille
1 - 2
2 - 2
2 - 3
1 - 3

non?
Si oui comment je fait pour mettre deux clef primaire dans ma table sous phpmysql.
Ou comment vérifie t-on les clefs car lorsque j'insère deux idproduits avec 2 idfamille différentes ben ça ne fonctionne pas, il me dit #1062 - Duplicate entry '405020-16' for key 'PRIMARY'

Car dans ma table j'ai selectionné idproduit et idfamille puis j'ai cliquer sur la petite clé
il m'a afficher
ALTER TABLE `produit` DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `IdProduit` , `IdFamille` ) ;

c'est que c'est bon non?

Enfin merci de votre aide par avance
A voir également:

6 réponses

Sandriine Messages postés 1255 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 18 août 2010 283
31 août 2009 à 15:59
Normalement, tu as 2 tables :
Produit (IdProduit,IdFamille)
Famille(IdFamille, NomFamille)

Ta table Produit a une seule clé primaire : Id Produit.
L'attribut "IdFamille" dans la table Produit est une clé étrangère qui se réfère à IdFamille de la table Famille.
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
31 août 2009 à 16:11
oui oui alors j'ai du mal m'expliquer...
j'ai une table famille
idFamille -> primary key
designationFamille

et une table produit avec
idProduit-> primary key
idFamille
designationProduit

Enfaite ce que j'aimerais faire c'est que dans ma table produit je puisse avoir deux fois le même produits avec une famille différente, bien entendu pour l'instant ce n'est pas le cas puisque une clés primaire ne paut pas être double.
Donc je supposait que pour faire ça il fallait que idProduit et idFamille soit des clé primaire dans la table produit.

Donc voila comment je peut faire?
0
Sandriine Messages postés 1255 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 18 août 2010 283
31 août 2009 à 16:16
Si Un produit peut avoir plusieurs familles et que une famille peut avoir plusieurs produit, alors il te faut une autre table entre les deux qui a effectivement 2 clés primaires.
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
31 août 2009 à 16:19
et je ne peut pas faire ça dans ma table produits?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sandriine Messages postés 1255 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 18 août 2010 283
31 août 2009 à 16:22
Non c'est impossible d'avoir plusieurs produits avec un même identifiant dans ta table Produit telle que tu l'a là.
C'est la méthode MERISE.
0
widi70 Messages postés 649 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 22 juillet 2019 65
31 août 2009 à 16:37
ok ok ben merci bcp je vais faire comme ça
0