Magazine Internet

Mysql : DELETE sur plusieurs tables avec jointure

Publié le 09 avril 2008 par Tonylepsie

Il arrive parfois qu’on est besoin des faire des suppressions de lignes sur plusieurs tables en même temps. Par exemple, on veut supprimer une catégorie et tous les articles qui appartiennent à cette catégorie. La catégorie appartient à la table catégorie et les articles à la table article et ils sont reliés par l’identifiant de la catégorie (id_cat pour la table categorie et fk_cat pour la table billet - fk pour foreign key)

Deux cas de figure : on veut supprimer sur les 2 tables d’un coup ou on veut supprimer qu’une sur une seule table.

DELETE sur 2 tables MySQL

Pour reprendre mon exemple de catégorie et d’articles, cela revient à supprimer la catégorie et les articles liés à cette catégorie.

La requête devra alors ressembler à ça :

Script sql

DELETE categorie, article FROM categorie, article WHERE id_cat=fk_cat AND fk_cat=1

DELETE sur une table MySQL nécessitant une jointure

Imaginons que vous voulez supprimer tous les articles de la catégorie 1 qui ont pour tag ‘prout’ (je sais…) et supprimer aussi le tag (même si c’est pas très logique car des articles d’une autre catégorie peuvent être à ce tag…. mais bon c’est un exemple, on va commencer à se faire chier avec ce genre de considération…).

On obtiendrait alors une requête de ce style :

Script sql

DELETE FROM tag, article USING tag, article,categorie WHERE  id_cat=fk_cat AND fk_cat=1 AND tag=‘prout’

Et voilà, finis les 3 requêtes delete de suite dans nos gestions de contenus de vos sites

;)



Retour à La Une de Logo Paperblog

LES COMMENTAIRES (3)

Par eyecom-dz
posté le 31 janvier à 22:20
Signaler un abus

merci infiniment ca fait plus de 4h que je me gris le cerveaux pour supprimer le contenus de mes tables merci infiniment

Par Bob
posté le 19 juin à 08:53
Signaler un abus

Merci !

A propos de l’auteur


Tonylepsie 3 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog