Bonjour,
J'essaie de comprendre les foreign key, et pour ce faire je fais un test avec 1 simple table "groupe" et une relation réflexive
----------------------------
idGroupe int auto increment primary key
nomGroupe varchar(30) not null
idGroupeParent int
----------------------------
avec une foreign key ('idGroupeParent') REFERENCES 'groupe' ('idGroupe') on delete set null on update cascade
J'ai 2 enregistrements :
idGroupe : 1
nomGroupe : "mon premier groupe"
idGroupeParent : NULL
idGroupe : 2
nomGroupe : "mon groupe rataché"
idGroupeParent : 1
J'ai voulut modifier l'ID de mon premier groupe avec la requete suivante :
UPDATE 'mabdd'.'groupe' SET 'idGroupe' = '10' WHERE 'groupe'.'idGroupe'=1 LIMIT 1
et là j'ai une erreur :
#1451 - Cannot delete or update a parent row: a foreign key constraint fails ('mabdd/groupe', CONSTRAINT 'fk_groupe_groupe' FOREIGN KEY ('idGroupeParent') REFERENCES ('idGroupe') ON DELETE SET NULL ON UPDATE CASCADE)
Je voulais qu'en modifiant l'id de mon premier groupe à 10, la valeur de idGroupeParent de mon groupe 2 passe automatiquement à 10 aussi... ça marche pas comme ça?
D'avance merci pour vos explications.
++
Gregco
Partager