Bonjour,

J'ai un souci, je veux supprimer les commentaires d'un article lorsque je supprime un commentaire.
J'ai lu qu'il y avait ON DELETE CASCADE mais ça ne m'est pas familier, je ne comprends pas comment ça fonctionne

C'est un screen de ma BDD commentaire :
https://www.dropbox.com/s/uminjsuzxrpkul1/FireShot%20Capture%2022%20-%20localhost%20_%20Local%20Databases%20_%20base_de_d_%20-%20http___localhost_phpmyadmin_sql.php.png?dl=0

J'ai également tenté ça

ALTER TABLE blog_commentaires
ADD CONSTRAINT fk_comments_article
FOREIGN KEY (id_article)
REFERENCES article(id)
ON DELETE CASCADE;

Merci d'avance pour vos réponses

3 réponses


Hello,

un petit tour sur google avec "on delete cascade sql" et dans les premiers liens tu as l'explication....

cordialement

Antho

Bonjour.
@Zmi nazim
Ce serait bien que tu évites d'exposer tes problèmes dans les sujets des autres, surtout sur ceux qui ont au moins un an.
Ton cas est différent, les données dont tu parles doivent se trouver sur une table différentes, soit une table nommée products par exemple, dans laquelle il doit y avoir les champs qui concernent un comptage des commentaires.
Et le fait d'avoir supprimé manuellement les commentaires au lieu de passer par l'application n'a pas permi de remettre à 0 ces compteurs, ce qui paraît plutôt logique, tu aurais dû les supprimer depuis l'application afin que les valeurs des champs soient mis à jours.

Lorsque je vais dans mes fiches produits j’ai aussi 0 commentaires

Si ça te marque 0 commentaires c'est que ça ne doit pas utiliser les champs de la table des produits concernant les commentaires, mais tout simplement qu'il ne récupère aucun commentaire lié.

par contre j’ai bien la notation étoile et en nombre de commentaires un chiffre poisitif, alors que je n’en ai pas…

Là par contre il doit utiliser un des champs de la table des produits.

Tu dis bien que tu veux supprimer les commentaires d'un commentaire
un chainage , en sorte ?
dans ce cas le on delete cascade doit porter sur la table commentaires et pas sur articles

Edit
Put'n me suis encore fait avoir avec des vieux post
@lartak tu peux utiliser le bouton signaler
@grafikart peux tu bloquer les vieux post