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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
UPDATE 'mabdd'.'groupe' SET 'idGroupe' = '10' WHERE 'groupe'.'idGroupe'=1 LIMIT 1
et là j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
#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