Probleme sur les clef etrangeres

Résolu/Fermé
feurdy - 29 déc. 2016 à 22:10
 feurdy - 3 janv. 2017 à 15:03
aaidez moi a creer une table qui est une relation de deux table existantes. en mode console de mysql on me dit ''imposible d'ajouter les contraintes d'index externes.
A voir également:

3 réponses

yg_be Messages postés 21115 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 février 2023 1 308
30 déc. 2016 à 13:35
Je pense que tu dois spécifier le nom des autres tables, et les noms des clés correspondantes dans les autres tables :
create table livrer( 
id_liv smallint auto_increment, 
id_four int, 
id_mat int, 
nb_mat int; 
primary key(id_liv), 
constraint fk_livrer1 foreign key(id_four)
 REFERENCES autretable1 (cle1) 
constraint fk_livrer2 foreign key(id_mat)
 REFERENCES autretable2(cle2) 
)engine=innodb; 
1
Oui j'ai specifié mais la meme chose mysql me dit
0
yg_be Messages postés 21115 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 février 2023 1 308
30 déc. 2016 à 14:03
peux-tu montrer le
create
que tu as modifié, et la définition des deux autres tables?
0
create table fournisseur(
id_four smallint unsigned auto_increment,
nom vachar(100) not null,
prenom vachar(100) not null,
d_nais date,
primary key(id_four)
)engine=innodb;

&

create tabe materiel(
id_mat smallint unsigned auto_increment,
label_mat vachar(50), not null
type_mat varchar(100),
primary key(id_mat)
)engine=innodb;

donc la relation des deux table au dessus recoit la concatenation de leur clef primaire que je fais ci-dessus

create table livrer(
id_liv smallint unsigned auto_increment,
id_mat int,
id_four int,
nb_mat int(50)
primary key(id_liv),
constraint fk_fourneur foreign key(id_four) references fournisseur(id_four),
constraint fk_materiel foreign key(id_mat) references materiel(id_mat)
)engine=innodb;

"imposssible d'ajouter les contrainte d'index externe" dit msql
0
yg_be Messages postés 21115 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 février 2023 1 308
30 déc. 2016 à 15:50
Je vois que le type de tes clés n'est pas le même dans les différentes tables...
0
oui sa doit etre sa chief
0