[resolu] Probleme de syntaxe dans un UPDATE

Probleme de syntaxe dans un UPDATE [resolu] - SQL/NoSQL - Programmation

Marsh Posté le 19-04-2010 à 16:38:52    

Bonjour,
 
Je souhaites faire un update sur une table mais ma requete ne fonctionne pas, pourriez vous m'aider ?
 
Requete :
update graph_maj  
set update_run = 0
where id_maj = (select gr.id_maj  
   from graph_maj gr  
   order by gr.id_maj desc  
   limit 1)
 
Lorsque j'execute un script de mise a jour, j'insere la date et l'heure de lancement, ainsi que la colonne update_run qui passe a 1 pour indiquer qu'une mise a jour est en cours. Je souhaites modifier cette colonne lorsque le traitement est termine. Dans cette requete, je modifie le champ update_run sur le dernier enregistrement de la table.
 
Voici l'erreur retournee par MySQL :
You can't specify target table 'graph_maj' for update in FROM clause


Message édité par shooker le 20-04-2010 à 09:46:12
Reply

Marsh Posté le 19-04-2010 à 16:38:52   

Reply

Marsh Posté le 20-04-2010 à 09:45:49    

j'ai trouve :
update graph_maj  
   set update_run = 0, date_end = '$enddate'
   where id_maj = (
    select * from (
     select tt.id_maj  
     from graph_maj tt  
     order by tt.id_maj desc  
     limit 1
    ) tmp)

Reply

Marsh Posté le 22-04-2010 à 14:45:33    

Juste pour te remercier d'avoir poster ta solution, j'avais le même type de problème qui n'est plus maintenant.  :jap:  :jap:  
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed