Je ne conçois pas tous les jours des schémas, mais j'essaie de configurer correctement les mises à jour / suppressions en cascade pour faciliter l'administration. Je comprends comment fonctionnent les cascades, mais je ne me souviens jamais de quelle table il s'agit.
Par exemple, si j'ai deux tables - Parent
et Child
- avec une clé étrangère sur Child
ces références Parent
et ce qui a ON DELETE CASCADE
, quels enregistrements déclenchent une cascade et quels enregistrements sont supprimés par la cascade? Ma première hypothèse serait que les Child
enregistrements soient supprimés quand les Parent
enregistrements sont supprimés, car les Child
enregistrements dépendent des Parent
enregistrements, mais le ON DELETE
est ambigu; cela pourrait signifier supprimer l' Parent
enregistrement lorsque l' Child
enregistrement est supprimé ou cela pourrait signifier supprimer l' Child
enregistrement lorsque le Parent
est supprimé. Alors c'est quoi?
J'aimerais que la syntaxe soit ON PARENT DELETE, CASCADE
, ON FOREIGN DELETE, CASCADE
ou quelque chose de similaire, pour lever l'ambiguïté. Quelqu'un a-t-il des mnémoniques pour s'en souvenir?