Rassembler 3 requetes Delete, impossible ?

Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 460
Enregistré le: 2 Fév 2005

Rassembler 3 requetes Delete, impossible ?

Message le Dim Fév 26, 2017 20:59

Bonjour, je souhaite réunir 3 requêtes delete qui très semblables mais j'ai essayé diverses techniques, impossible de supprimer tous les enregistrements dans lesquels le champ user contient l'id_user en question

Voici les 3 requêtes que j'aimerais réunir :

Code: Tout sélectionner
$delete_1 = $pdo->query("DELETE FROM table 1 WHERE user='$id_user'");
$delete_2 = $pdo->query("DELETE FROM table 3 WHERE user='$id_user'");
$delete_3 = $pdo->query("DELETE FROM table 3 WHERE user='$id_user'");


Merci


klp
WRInaute discret
WRInaute discret
 
Messages: 108
Enregistré le: 19 Oct 2016

Re: Rassembler 3 requetes Delete, impossible ?

Message le Lun Fév 27, 2017 15:33

Bonjour,

Essaye un truc dans ce style avec un join :

DELETE FROM table1 INNER JOIN table3
WHERE table1.id=table3.id AND table1.id='$id_user'

C'est normal que $delete_2 et $delete_3 soient similaires ?


anemone-clown
WRInaute passionné
WRInaute passionné
 
Messages: 1686
Enregistré le: 11 Nov 2007

Re: Rassembler 3 requetes Delete, impossible ?

Message le Mer Mar 01, 2017 9:14

La commande Delete ne fonctionne que sur UNE table, pas plusieurs normalement.

Ensuite, il faudrait essayer Delete from table1, table2, table3 where... mais je ne pense pas que cela changera grand chose en performance (voire être même plus lent!).


Blount
WRInaute impliqué
WRInaute impliqué
 
Messages: 727
Enregistré le: 18 Nov 2010

Re: Rassembler 3 requetes Delete, impossible ?

Message le Lun Mar 06, 2017 16:12

Qu'est-ce qui pose problème d'avoir 3 requêtes ?
Si c'est juste pour la forme, ca ne sert à rien.
Si c'est une question d'intégrité (supprimé dans table1 mais planté sur table2), alors utilise les transitions.


spout
WRInaute accro
WRInaute accro
 
Messages: 8335
Enregistré le: 14 Mai 2003

Re: Rassembler 3 requetes Delete, impossible ?

Message le Lun Mar 06, 2017 16:23

Blount a écrit:alors utilise les transitions.

+1, mais c'est les transactions :)


Blount
WRInaute impliqué
WRInaute impliqué
 
Messages: 727
Enregistré le: 18 Nov 2010

Re: Rassembler 3 requetes Delete, impossible ?

Message le Lun Mar 06, 2017 16:27

spout a écrit:
Blount a écrit:alors utilise les transitions.

+1, mais c'est les transactions :)

Tout à fait. J'ai trop fréquenté le CSS ;)


klp
WRInaute discret
WRInaute discret
 
Messages: 108
Enregistré le: 19 Oct 2016

Re: Rassembler 3 requetes Delete, impossible ?

Message le Lun Mar 06, 2017 17:32

anemone-clown a écrit:La commande Delete ne fonctionne que sur UNE table, pas plusieurs normalement.


Je ne suis pas expert mais je pense que c'est possible
http://stackoverflow.com/questions/1233451/delete-from-two-tables-in-one-query


niap
WRInaute discret
WRInaute discret
 
Messages: 137
Enregistré le: 17 Oct 2009

Re: Rassembler 3 requetes Delete, impossible ?

Message le Mar Mar 07, 2017 13:47

Blount a écrit:Si c'est une question d'intégrité (supprimé dans table1 mais planté sur table2), alors utilise les transitions.

Transaction ?
Tu pourrais développer STP ?


spout
WRInaute accro
WRInaute accro
 
Messages: 8335
Enregistré le: 14 Mai 2003

Re: Rassembler 3 requetes Delete, impossible ?

Message le Mar Mar 07, 2017 13:52



Blount
WRInaute impliqué
WRInaute impliqué
 
Messages: 727
Enregistré le: 18 Nov 2010

Re: Rassembler 3 requetes Delete, impossible ?

Message le Mar Mar 07, 2017 14:51

En gros, une fois la transaction initiée, toutes les requêtes effectuées sont exécutées mais le résultat n'est "visible" que par la connexion initiatrice. Ensuite, pour que le résultat soit officiellement appliqué, il faut effectuer un commit. Si la connexion est interrompue (code planté, coupure réseau entre PHP > MySQL, etc.), un rollback est effectué (les requêtes sont annulées).
Le rollback peut être effectué manuellement dans le code.

Bref, c'est pratique.


niap
WRInaute discret
WRInaute discret
 
Messages: 137
Enregistré le: 17 Oct 2009

Re: Rassembler 3 requetes Delete, impossible ?

Message le Mer Mar 08, 2017 1:39

OK, merci. Je ne connaissais pas.


Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :