Page 1 sur 1

requete de nettoyage

Posté : 27 janv. 2009, 05:21
par odradek
Bonjour, ayant créé plusieurs galeries gérées par une bdd mysql, j'ai pour mes besoins du centraliser l'ensemble des images dans une table "img" (avec un champ id et un champ nom), je cherche à effectuer une requête de nettoyage pour cette table de la manière suivante :

Code : Tout sélectionner

DELETE img FROM img, an_actu_img, an_proj_img, es_actu_img, es_proj_img, fr_actu_img, fr_proj_img WHERE an_actu_img.id_actu != img.id AND an_proj_img.id_proj != img.id AND es_actu_img.id_actu != img.id AND es_proj_img.id_proj != img.id AND fr_actu_img.id_actu != img.id AND fr_proj_img.id_proj != img.id
Seulement à chaque fois que je tente d'executer cette requête, j'obtiens un plantage (pas de message d'erreur) de phpmyadmin, qui semble pris comme dans une boucle infinie.

Quelqu'un pourrait-il m'indiquer ce qui cloche dans ma requête, merci d'avance.

Posté : 27 janv. 2009, 12:52
par Cobaye
je ferai une requete du genre :

Code : Tout sélectionner

DELETE FROM img LEFT JOIN an_actu_img ON an_actu_img.id_actu = img.id LEFT JOIN an_proj_img ON an_proj_img.id_proj = img.id LEFT JOIN es_proj_img ON es_proj_img.id_proj = img.id LEFT JOIN es_actu_img ON es_actu_img.id_actu = img.id LEFT JOIN fr_actu_img ON fr_actu_img.id_actu = img.id LEFT JOIN fr_proj_img ON fr_proj_img.id_proj = img.id WHERE an_actu_img.id_actu IS NULL AND an_proj_img.id_proj IS NULL AND es_proj_img.id_proj IS NULL AND es_actu_img.id_actu IS NULL AND fr_actu_img.id_actu IS NULL AND fr_proj_img.id_proj IS NULL
à tester, je l'ai fait de tête