Requete pour bdd

Résolu/Fermé
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 28 mai 2009 à 21:55
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 28 mai 2009 à 22:51
Bonjour,
bon alors voila, juste une question, laquelle est meilleure pour une requete et qui marche^^


(est ce que celle la fonctionne, en fait est il possible de faire un update sur 2 champs comme ceci ??? )
$update_parrain = "update table_joueur set parties_parrain, filleuls = parties_parrain, filleuls + 1 where pseudo ='$parrain'";

ou bien

$update_parrain = "update table_joueur set parties_parrain = parties_parrain + 1 where pseudo ='$parrain'";
$update_parrain = "update table_joueur set filleuls = filleuls + 1 where pseudo = '$parrain'";

la 2eme a l'air de fonctionner^^ mais laquelle est plus legere ???
merci de toute reponse, a bientot.......

3 réponses

kryoportail Messages postés 222 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 22 mai 2014 125
28 mai 2009 à 22:34
Salut,

Il est en règle générale plus rapide de faire quelquechose en 1 seule requète qu'en plusieurs (ce qui demande plusieurs aller-retour entre le fournisseur de données, et le consommateur, en général un programme)...

Rien t'empêche d'affecter plusieurs champs en même temps.... voir même, plusieurs lignes en même temps...

UPDATE `MyTable` SET `ChampA` = 'ValueA', `ChampB` = 'ValueB' WHERE `id` IN (5, 10, 23);
Affecte la valeur ValueA et ValueB pour respectivement les champs ChampA et ChampB pour les lignes possédant les identifiants égaux à 5, 10 et 23....

Tu peux aussi effectivement affecter une valeur calculé...

UPDATE `MyTable` SET `ChampA` = `ChampA` + 1, `ChampB` = NOW() WHERE `id` IN (5, 10, 23);
Incrémente la valeur du ChampA et met le champB à la date du jour pour les lignes possédant les identifiants égaux à 5, 10 et 23....

Ca repond à ta question !?

Amicalement,
S@M...
http://kryoportail.ath.cx
1
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
28 mai 2009 à 22:44
ok, ca marche , je teste ca direct ^^ merci bien .....
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
28 mai 2009 à 22:51
ok, je viens de mettre ma requete comme ceci::

$update_parrain = "update table_joueur set parties_parrain = parties_parrain + 1, filleuls = filleuls + 1 where pseudo ='$parrain'";

et nikel ca fonctionne , merci, résolu^^............
0