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.
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
Grafikart,
il y a 12 ans
Lo-X,
il y a 12 ans
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.