Bonjour à tous,
j'aimerai définir en MySQL un champs lié à l'identifiant d'une même table pour effectuer des suppression en cascade mais je ne vois pas vraiment la méthodologie à employer.
La table aurait cette structure (exemple) :
J'aimerai pouvoir supprimer la page Page 2 (id: 6) et que MySQL se charge automatiquement de supprimer en cascade ses enfants plutôt que de mettre en place un script récursif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ID - Parent - Order - Name -------------------------- 1 - 0 - 1 - Home 2 - 1 - 1 - Page 1 3 - 2 - 1 - Page 1.1 4 - 2 - 2 - Page 1.2 5 - 2 - 3 - Page 1.3 6 - 1 - 2 - Page 2 7 - 6 - 1 - Page 2.1 8 - 6 - 2 - Page 2.2 9 - 6 - 3 - Page 2.3
Je pensais pouvoir le faire en plaçant un Index sur le champs Node et rajouter une relation entre Node et ID (On delete -> Cascade) mais je vais d'erreurs SQL en erreurs SQL.
Plutôt que de tâtonner et arriver à un résultat sans trop comprendre le pourquoi et le comment, je préfère vous poser la question.
D'avance, merci de votre aide.
Partager