Impossible d'ajouter une clé étrangére composée d'une paire d'attributs
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
Code:
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 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...
Je fais :
Code:
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 |
Et j'obtiens ce message : "#1452 - Cannot add or update a child row: a foreign key constraint fails".
Quelqu'un sait pourquoi j'obtient ce message et je n'arrive pas ajouter ma clé étrangére?
Merci.