Salut,

Avec le moteur InnoDB il est possible de lier les tables les unes aux autres. Il est de ce fait possible d'effectuer des actions sur les tables liées à la suppression ou la mise à jour des données.
Par exemple si un article est lié à un tag dans une table de liaison posts_tags, il est possible que la base de données supprime automatiquement cette liaison "en cascade" (et donc plus besoin de s'en soucier dans le code)

-> ON DELETE CASCADE
-> Pourquoi pas ON UPDATE CASCADE ça peut être intéressant aussi.

2 réponses


C'est quelquechose que l'on préfère gérer en PHP généralement pour éviter de surcharger MySQL parceque ce ON DELETE va s'appliquer dans tous les cas :(. L'avantage c'est de ne pas être dépendant d'un moteur de BDD.

Lo-X
Auteur

Certes mais le gérer en PHP ça veut aussi dire plus de requêtes, alors si on part sur la surcharge de MySQL, le ON DELETE CASCADE est moins lourd.