Select d'un UPDATE

Petit nouveau ! | 3 Messages

03 janv. 2008, 00:48

Bonsoir et bonne année !

J'aurais voulu savoir si il était possible de selectionner différentes valeurs des résultats modifiés par un UPDATE en même temps ?

Du genre : SELECT ID, taille, nom FROM (UPDATE images SET date_envoi = NOW() WHERE ID IN (1,3,5,7,10));
Dans ce cas, récuperer les infos de toutes mes images que je modifie.


Avec la table Images
=========
ID (int)
nom (varchar)
(taille) bigint
date_envoi (datetime)



Merci d'avance pour votre aide !
Djay

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 janv. 2008, 00:59

Avec la table Images
=========
ID (int)
nom (varchar)
(taille) bigint
date_envoi (datetime)
C'est bien mais comme çac'est mieux ;)

Pour te répondre... non ce n'est pas possible comme ça.
Mais puisque tu posèdes déjà les identifiants des images (WHERE ID IN (1,3,5,7,10)) pourquoi ne pas faire une requête de séléction avec ces mêmes id ?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 3 Messages

03 janv. 2008, 08:43

Pour la structure de la table, elle n'est pas très importante ici, je pense que ces quelques lignes suffisaient :D

Sinon, bah je veux réduire au minimum le nombre de requête ! Je cherche tous les moyens.

Et sinon, c'est vrai que dans ce cas je possède déjà les ID, mais on peut imaginer une requête du type :

SELECT ID, nom FROM (UPDATE images SET date_envoi = NOW() WHERE date_envoi < '31-12-2007')

Enfin bon, si on peut pas.. :(

Merci quand même :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 janv. 2008, 10:31

Un UPDATE et un SELECT sont 2 opérations différentes.
Si tu désires faire ces 2 actions, il va falloir passer par 2 requêtes :?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

03 janv. 2008, 12:31

je veux réduire au minimum le nombre de requête
Je ne sais pas pourquoi tu cherches à réduire le nombre de requêtes, mais si c'est uniquement dans un souci de performance, sache qu'une telle optimisation si elle avait été possible ne t'aurais fait "gagner" que 0.001s dans le meilleur des cas. Si tu t'intéresses à l'optimisation de MySQL, consulte le chapître du manuel correspondant, il couvre très bien ce sujet. (la même chose en anglais, plus récente)