bonjour
voilà pour simplifier j'ai une table avec 3 colones : une colone "id", une colone "id_parent" et une colone "nom".
et j'ai id_parent qui corresspond à l'id d'une autre entrée dans la table.
je voudrais sélectionner en même temps le nom d'un enregistrement et le nom de l'enregistrement pointé par "id_parent", et le seul moyen qu j'ai trouvé de faire ça c'est : SELECT a.nom, b.nom FROM `todo` AS a INNER JOIN `todo` AS b ON (a.id_parent=b.id) WHERE a.id=666 .
je trouve ça un peu con d'être obligé de faire une jointure avec la même table.
mon but est de pouvoir stoquer dans la base de donnée une structure en arborescence. et il faudrai que si j'efface une entré dans la table, en même temps soient effacés toutes les entrés qui en dépendaient directement et indirectement. en gros il faudrai que quand j'efface un noeud, tous les noeuds enfants soient effacés aussi.
ceci me semble être une application parfaite des clés étrangères, mais je n'ai encore jamais vu de clé étrangère reliant une table à elle même. de plus mysql supporte-t-il les clés étrangères dans sa version stable (c'est à dire 3.23.49).
Partager