[MySQL] Combiner une SELECT et une UPDATE

Combiner une SELECT et une UPDATE [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 25-08-2007 à 23:12:40    

Salut,
J'ai une table d'utilisateurs :

 

id nom visite
1  Moi  1551555
2  Toi  4554412545

 


Le champ visite correspond à la dernière visite du membre sur le site.
Donc au chargement de la page j'exécute deux requêtes :

Code :
  1. SELECT id FROM utilisateurs WHERE name='moi'


et

Code :
  1. UPDATE utilisateurs SET visite='timestamp' WHERE id='1'
 

J'aimerais combiner les deux requetes en une seule histoire d'éviter de parcourir deux fois la base inutilement, faire quelque chose comme :

 
Code :
  1. UPDATE utilisateurs SET visite='timestamp' WHERE id=   (SELECT id FROM utilisateurs WHERE name='moi')


Mais cette sous-requete renvoi une erreur :

Citation :

#1093 - You can't specify target table 'utilisateurs' for update in FROM clause

 

Existe-il un autre moyen pour combiner ces deux requêtes ?

 

Je suis sous MySQL 5.0.38 ;)

 

Merci


Message édité par Rapha222 le 25-08-2007 à 23:13:24
Reply

Marsh Posté le 25-08-2007 à 23:12:40   

Reply

Marsh Posté le 26-08-2007 à 11:04:55    

UPDATE utilisateurs SET visite='timestamp' WHERE id=   (SELECT id FROM utilisateurs WHERE name='moi')


Message édité par pikti le 26-08-2007 à 11:05:49
Reply

Marsh Posté le 28-08-2007 à 10:41:59    

et sinon tu remplace le "id=" par "id in"

Reply

Sujets relatifs:

Leave a Replay

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