Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/05/2011, 10h20   #1
Invité de passage
 
Didier
Inscription : mars 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Didier

Informations forums :
Inscription : mars 2011
Messages : 14
Points : 0
Points : 0
Par défaut DELETE sur plusieurs tables

bonjour, je voudrais faire du ménage sur mes tables, mais je n'y arrive pas..
j'ai besoin de vos conseils

ma requête select qui fonctionne pour verif:
Code :
1
2
3
4
5
6
7
SELECT * 
FROM `table_demande` td
LEFT JOIN table_forum_demande fd ON fd.num_demande = td.num_demande
LEFT JOIN table_detail_demande dd ON dd.num_demande = fd.num_demande
LEFT JOIN table_statut_demande sd ON sd.num_demande = dd.num_demande
LEFT JOIN table_demande_realisateur_prevu dr ON dr.num_demande = sd.num_demande
WHERE td.Num_Demande =30939
la même avec le delete qui ne marche pas
Code :
1
2
3
4
5
6
7
DELETE
FROM `table_demande` td
LEFT JOIN table_forum_demande fd ON fd.num_demande = td.num_demande
LEFT JOIN table_detail_demande dd ON dd.num_demande = fd.num_demande
LEFT JOIN table_statut_demande sd ON sd.num_demande = dd.num_demande
LEFT JOIN table_demande_realisateur_prevu dr ON dr.num_demande = sd.num_demande
WHERE td.Num_Demande =30939
merci de votre aide
didier12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 10h34   #2
Membre habitué
 
Avatar de l4r3nZu
 
Homme Laurent Quastana
Ingénieur développement logiciels
Inscription : janvier 2010
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Laurent Quastana
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : janvier 2010
Messages : 114
Points : 129
Points : 129
Bonjour ,

Je ne connaissait pas la syntaxe LEFT JOIN , a tu essayé de recoder ton DELETE
avec une Syntaxe : DELETE .. WHERE .. IN ?

bonne chance !
l4r3nZu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 11h59   #3
Invité de passage
 
Didier
Inscription : mars 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Didier

Informations forums :
Inscription : mars 2011
Messages : 14
Points : 0
Points : 0
le LEFT JOIN me permet de supprimer des demandes meme si pas d'enregistrements dans les autres tables

voici l erreur que me mets mysql
requête SQL:

Code :
1
2
3
4
5
6
DELETE FROM `table_demande` td 
LEFT JOIN table_forum_demande fd ON fd.num_demande = td.num_demande 
LEFT JOIN table_detail_demande dd ON dd.num_demande = fd.num_demande 
LEFT JOIN table_statut_demande sd ON sd.num_demande = dd.num_demande 
LEFT JOIN table_demande_realisateur_prevu dr ON dr.num_demande = sd.num_demande 
WHERE td.Num_Demande =30939
MySQL a répondu:

Citation:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN table_forum_demande fd ON fd.num_demande = td.num_demande
LEFT JOIN t' at line 3
********************************************
j'ai essayé aussi: ex vu sur des forums tutoriaux

Code :
1
2
3
4
5
6
7
DELETE
FROM Table_demande td,table_forum_demande fd , table_detail_demande dd, table_statut_demande sd, table_demande_realisateur_prevu dr
WHERE td.Num_Demande = fd.Num_Demande
  AND td.Num_Demande = dd.Num_Demande
  AND td.Num_Demande = sd.Num_Demande
	AND td.Num_Demande = dr.Num_Demande
WHERE td.Num_Demande =49328
c'est pareil , il n'aime pas!
didier12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 12h04   #4
Membre habitué
 
Avatar de l4r3nZu
 
Homme Laurent Quastana
Ingénieur développement logiciels
Inscription : janvier 2010
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Laurent Quastana
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : janvier 2010
Messages : 114
Points : 129
Points : 129
a oui c'est vrai il est impossible de faire un delete sur 3 tables , tu dois coder 3 delete :/
l4r3nZu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 12h26   #5
Invité de passage
 
Didier
Inscription : mars 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Didier

Informations forums :
Inscription : mars 2011
Messages : 14
Points : 0
Points : 0
Par défaut ça y est !

j'ai trouvé la bonne syntaxe sur le site dev\mysql

Code :
1
2
3
4
5
6
7
8
9
DELETE td,
fd,
dd,
sd,
dr FROM Table_demande td,
table_forum_demande fd,
table_detail_demande dd,
table_statut_demande sd,
table_demande_realisateur_prevu dr WHERE td.Num_Demande = fd.Num_Demande AND td.Num_Demande = dd.Num_Demande AND td.Num_Demande = sd.Num_Demande AND td.Num_Demande = dr.Num_Demande AND td.Num_Demande =49328


je vais pouvoir envoyer la sauce!
didier12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 12h46   #6
Membre habitué
 
Avatar de l4r3nZu
 
Homme Laurent Quastana
Ingénieur développement logiciels
Inscription : janvier 2010
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Laurent Quastana
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : janvier 2010
Messages : 114
Points : 129
Points : 129
Felicitation et désolé de t'avoir induit en erreur mais javais lu que c'était pas possible sur un forum :/
l4r3nZu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 14h06   #7
Invité de passage
 
Didier
Inscription : mars 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Didier

Informations forums :
Inscription : mars 2011
Messages : 14
Points : 0
Points : 0
Par défaut humm

alors je te rassure, ça m'a bien supprimé pleins d'enregistrements sauf qu'il en restait sur 2 tables, du coup, je viens de faire une table apres l'autre , au moins c'est efficace!
cordialement
didier12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2011, 14h19   #8
Membre habitué
 
Avatar de l4r3nZu
 
Homme Laurent Quastana
Ingénieur développement logiciels
Inscription : janvier 2010
Messages : 114
Détails du profil
Informations personnelles :
Nom : Homme Laurent Quastana
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : janvier 2010
Messages : 114
Points : 129
Points : 129
Haha tu me rassure ^^ c'était bien ce que je penssait , j'avais en faite deja rencontré ce probleme et j'étais aussi passé pour des deletes pour chaques tables
l4r3nZu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h15.


 
 
 
 
Partenaires

Hébergement Web