Bonjour,
Il y a assez longtemps, on m'avait aidé a mettre en place une architecture où dans une des tables de la BDD, la clé primaire était composée de la paire {clé étrangére d'une table , une colone}. (http://www.developpez.net/forums/d15...e-associative/)
Je souhaiterais remettre en place cette base mais je rencontre un probléme.
Pour l'instant, j'ai déjà ces tables en BDD
Je souhaiterais mettre en place la clé primaire de la table FOUR_CYCLES en clé étrangére dans la table GATEAUX mais c'est là que je rencontre un probléme...
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
22
23
24
25
26 CREATE TABLE FOUR ( id_four INT(11) NOT NULL, nom VARCHAR(25) NOT NULL, CONSTRAINT PRIMARY KEY (id_four) ) ; CREATE TABLE FOUR_CYCLES ( id_four INT(11) NOT NULL, no_cycle VARCHAR(2) NOT NULL, CONSTRAINT PRIMARY KEY (id_four, no_cycle), CONSTRAINT FOUR_CYCLE_FOUR_FK FOREIGN KEY (FourId) REFERENCES FOUR (FourId) ON DELETE CASCADE ) ; CREATE TABLE GATEAUX ( id_gateau INT(11) NOT NULL, nom VARCHAR(25) NOT NULL, id_four INT(11) NOT NULL, no_cycle VARCHAR(2) NOT NULL, CONSTRAINT GATEAU PRIMARY KEY (GateauId) )
Je fais :
Et j'obtiens ce message : "#1452 - Cannot add or update a child row: a foreign key constraint fails".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ALTER TABLE GATEAUX ADD FOREIGN KEY (id_four, no_cycle) REFERENCES FOUR_CYCLES(id_four, no_cycle) ON DELETE CASCADE
Quelqu'un sait pourquoi j'obtient ce message et je n'arrive pas ajouter ma clé étrangére?
Merci.
Partager