Menu

Problème avec la clé secondaire [Résolu]

laurette97 5 Messages postés lundi 23 octobre 2017Date d'inscription 25 octobre 2017 Dernière intervention - 23 oct. 2017 à 13:21 - Dernière réponse : laurette97 5 Messages postés lundi 23 octobre 2017Date d'inscription 25 octobre 2017 Dernière intervention
- 25 oct. 2017 à 12:21
coucou communauté CCM je suis en train de créer une base de donnée avec sql de msql workbench.
en faite j' ai d' abord créer la table fournisseur et en suite la table livraison qui reçoit la clé primaire de t-fournisseur comme clé secondaire comme vous pouvez le constater ci-dessous mais le soucis est que msql me ramène #1075 - Un seul champ automatique est permis et il doit être indexé a l' exécution.
Et quand j’enlève l'auto-incrément a la idfournisseur se trouvant dans la t-livraison il me ramène #1005 - Ne peut créer la table `essaie`.`livraison` (Errcode: 150 "Foreign key constraint is incorrectly formed")



CREATE TABLE fournisseur
(
idfournisseur INT(5) NOT null AUTO_INCREMENT,
nomfournisseur varchar(45) not null,
prenomfournisseur varchar(45) not null,
telephonefournisseur INT(8) NOT null,
CONSTRAINT pk PRIMARY KEY(idfournisseur)
)
ENGINE = INNODB;


CREATE TABLE livraison
(
idlivraison INT NOT null AUTO_INCREMENT,
idfournisseur INT(5) NOT null AUTO_INCREMENT,
datelivraison datetime not null,
CONSTRAINT pk PRIMARY KEY(idlivraison),
CONSTRAINT pk PRIMARY KEY(idfournisseur),
CONSTRAINT fk FOREIGN KEY(idfournisseur) REFERENCES fournisseur(id)
)
ENGINE = INNODB;
Afficher la suite 

4 réponses

Répondre au sujet
yg_be 4642 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 19 février 2018 Dernière intervention - 24 oct. 2017 à 10:12
0
Utile
bonjour, je pense qu'il n'est pas permis d'avoir deux clés primaires (PRIMARY) pour la même table.
je suggère de supprimer la ligne
CONSTRAINT pk PRIMARY KEY(idfournisseur),
pour la table livraison.
Commenter la réponse de yg_be
laurette97 5 Messages postés lundi 23 octobre 2017Date d'inscription 25 octobre 2017 Dernière intervention - 24 oct. 2017 à 16:44
0
Utile
2
heho meme quand je supprime la ligne indique ça me rapporte toujoours une erreur
yg_be 4642 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 19 février 2018 Dernière intervention - 24 oct. 2017 à 16:48
il faudrait aussi supprimer AUTO_INCREMENT dans la définition de idfournisseur de la table livraison
et corriger ceci
CONSTRAINT fk FOREIGN KEY(idfournisseur) REFERENCES fournisseur(id) 

en cela
CONSTRAINT fk FOREIGN KEY(idfournisseur) REFERENCES fournisseur(idfournisseur) 
laurette97 5 Messages postés lundi 23 octobre 2017Date d'inscription 25 octobre 2017 Dernière intervention > yg_be 4642 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 19 février 2018 Dernière intervention - 25 oct. 2017 à 12:21
merci infiniment j'ai suivi tes conseils et ce la a résolu mon problème
Commenter la réponse de laurette97