Bonjour à tous,
Etudiant qui réalise un projet pour ses études, je suis amené à construire un base de données. J'utilise MySQL 5.5.28 et MySQL WorkBench.
Dans cette base de données existent des tables de liaison pour les cardinalités n-n. Idéalement, elles contiennent le minimum d'informations, à savoir des id pour repérer les lignes associées entre elles.
Actuellement, j'ai ce genre de construction :
Avec cette structure-là, tout fonctionne. Seulement, j'aimerais me débarrasser de la colonne id de la table Lien_Experience_ActeurExp, et utiliser id_Experience et id_ActeurExp comme clé primaire. Donc m'orienter vers une requête de création de table du genre :
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
20
21 CREATE TABLE Experience( id integer auto_increment, primary key (id), mesparametres integer ); CREATE TABLE ActeurExp( id integer auto_increment, primary key (id), mesparametres integer ); CREATE TABLE Lien_Experience_ActeurExp( id integer auto_increment, primary key (id), id_Experience integer, id_ActeurExp integer, foreign key (id_Experience) references Experience(id) on delete set null, foreign key (id_ActeurExp) references ActeurExp(id) on delete set null );
C'est là que je bloque : cette requête ne fonctionne pas en tant que tel (error code 1005, errno 150), et après plusieurs heures de recherches sur internet et les forums je n'ai toujours pas trouvé de réponse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE Lien_Experience_ActeurExp( id_Experience integer, id_ActeurExp integer, foreign key (id_Experience) references Experience(id) on delete set null, foreign key (id_ActeurExp) references ActeurExp(id) on delete set null, primary key (id_Experience, id_ActeurExp) );
Avez-vous une solution ?
Merci d'avance pour vos réponses !
Partager