Bonjour à tous,
J'ai deux table et une association :
[table1]0,n--------(asso)--------0,n[table2]
Le modèle logique de cette structure est le suivant :
Et enfin, voici mon script de création des tables :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 table1(id_table1, data1, ...); table2(id_table2, data2, ...); asso(#id_table1, #id_table2,);
Lorsque j'exécute ce script sous MySQL, tout ce passe bien, je n'ai pas d'erreur. Par contre, lorsque je consulte la structure de ma table asso, je constate que ma première clé étrangère (fk_asso1) n'apparais pas. Et lorsque je la rajoute avec l'assistant de MySQL, ça fonctionne mais il m'affiche un message disant : "La colonne `id_table1` ne devrait pas faire partie à la fois d'une clé primaire et d'une clé index".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 CREATE TABLE table1( id_table1 INT NOT NULL, data1 VARCHAR(50), CONSTRAINT pk_table1 PRIMARY KEY (id_table1)); CREATE TABLE table2( id_table2 INT NOT NULL, data2 VARCHAR(50), CONSTRAINT pk_table2 PRIMARY KEY (id_table2)); CREATE TABLE asso( id_table1 INT NOT NULL, id_table2 INT NOT NULL, CONSTRAINT pk_asso PRIMARY KEY (id_table1,id_table2), CONSTRAINT fk_asso1 FOREIGN KEY (id_table1) REFERENCES table1(id_table1), CONSTRAINT fk_asso2 FOREIGN KEY (id_table2) REFERENCES table2(id_table2));
Comment je peut faire pour que mon script fonctionne de manière à ce que toute mes clé étrangère apparaissent? Ou sinon, comment doit-je procédé pour créer mon association?
Merci d'avance.
Partager