requete de nettoyage

odradek
Invité n'ayant pas de compte PHPfrance

27 janv. 2009, 05:21

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.

Administrateur PHPfrance
Administrateur PHPfrance | 977 Messages

27 janv. 2009, 12:52

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
pro : http://www.ohweb.fr -> studio de développement en PHP, expertise en e-commerce, certifié PrestaShop
perso : http://www.olecorre.com -> un dico de termes informatiques

J'ai toujours rêvé d'un ordinateur qui soit aussi facile à utiliser qu'un téléphone. Mon rêve s'est réalisé : je ne sais plus comment utiliser mon téléphone. [Bjarne Stroustrup]