UPDATE avec ORDER by comment fair?

Résolu
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

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,
    Dans une requête UPDATE, le ORDER BY ne sert à rien !!!
    1. 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
  2. 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+
    1. 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
  3. 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
    1. Dans ce cas tu fais comme ceci:

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

      Et ca devrait fonctionner!
    2. mai le probleme si j'ai beucoup d'information entrer dans la meme date
    3. Essaye de parler francais déjà stp.
      La je comprends rien à ce que tu dis :/
  4. En gros tu veux updater toutes les lignes qui ont la date la plus récentes dans le champ date c'est ca ???
    1. nn seulement un seule champ
    2. Mais lequel?
      Qu'est ce qui les différencie?
  5. 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.
    1. merci beucoup ça fonctione bien
    2. Alors là Alexis, je dis bravo...
      Réussir à comprendre ce qu'il voulait était un grand exploit xD