UPDATE avec ORDER by comment fair?

Résolu
shadow -  
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


j'ai fait la requet suivante pour modifier un champ specifier la requet est:


mysql_query("UPDATE info i,client c,tonte t set i.Poid_net='$date'
where c.idclient=t.idclient and i.idclient=c.idclient and c.idclient='$client' and t.num_fabrication='$num' ORDER BY i.dinfo DESC LIMIT 0;")

j'obtient la reponse:


Incorrect usage of UPDATE and ORDER BY

svp aider
A voir également:

5 réponses

Utilisateur anonyme
 
Bonjour,
Dans une requête UPDATE, le ORDER BY ne sert à rien !!!
3
shadow
 
je sais mais il faut que je modifier la dernier information entre dans mon tablau j'ai beucoup d 'information qui se repete mai a un date defferent alor il faut que je modifier la dernier qui est entre dans ma table
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Salut,

Il faut bien comprendre que le "Order By" te sert à trier tes résultat suivant un champ.
Or un insert ou un update ne retourne rien à part true ou false.
Donc il est impossible de trier le résultat!
Donc comme dit plus haut, le Order By ne sert à rien dans ces cas là.

a+
0
shadow
 
mais le probléme c j'ai beucoup d'information qui ent la meme date alor j'ai fai la requete

mysql_query("UPDATE info SET Poid_net=$date where idclient='$client' and Num_fabrication='$num' and date_entre=(select MAX(date_entre) from info)")

error est :
You can't specify target table 'info' for update in FROM clause
0
shadow
 
je sais mais il faut que je modifier la dernier information entre dans mon tablau j'ai beucoup d 'information qui se repete mai a un date defferent alors il faut que je modifier la dernier qui est entre dans la table
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Dans ce cas tu fais comme ceci:

Update Table1 set champ1 = valeur1 where champDate = (Select MAX(ChampDate) from table1)


Et ca devrait fonctionner!
0
shadow
 
mai le probleme si j'ai beucoup d'information entrer dans la meme date
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Essaye de parler francais déjà stp.
La je comprends rien à ce que tu dis :/
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
En gros tu veux updater toutes les lignes qui ont la date la plus récentes dans le champ date c'est ca ???
0
shadow
 
nn seulement un seule champ
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Mais lequel?
Qu'est ce qui les différencie?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Salut,

Lis les valeur de ta table et tu récupère l'id de la dernière entrée, tu l'enregistre dans une variable et quand tu veut utilisé UPDATE, utilise aussi WHERE en indiquant la variable ...

Edit : Pourrais tu être clair, tant au niveau technique que logique ...
La chance aide parfois, le travail toujours !
Le vrai con est con. Celui qui n'est pas un vrai con n'est pas plus con qu'un autre.
0
shadow
 
merci beucoup ça fonctione bien
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
Alors là Alexis, je dis bravo...
Réussir à comprendre ce qu'il voulait était un grand exploit xD
0