Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: sanchou le le 09-05-2005 a 13:43:20

Titre: [mysql] update à partir d'une autre table
Posté par: sanchou le le 09-05-2005 a 13:43:20

Salut à tous,
je dispose de deux tables ayant la même structure (colonnes, clés, etc)
et je voudrais mettre à jour certaines données de l'une avec les données de l'autre.
Ma requête est la suivante :

update accounts
set parent_id=accounts_temp.parent_id,
...
where name=accounts_temp.name
and deleted=false;

Mon client mysql me répond :

13:37:39 [UPDATE - 0 row(s), 0.015 secs] [Error Code: 1109, SQL State: 42S02] Unknown table 'accounts_temp' in where clause

Auriez-vous une solution à me proposer?


Titre: Re:[mysql] update à partir d'une autre table
Posté par: nyrodev le le 09-05-2005 a 18:50:04

Sans conviction, tu peux essayé ca :
update accounts,accounts_temp
set accounts.parent_id=accounts_temp.parent_id,
...
where accounts.name=accounts_temp.name
and deleted=false;

Titre: Re:[mysql] update à partir d'une autre table
Posté par: sanchou le le 10-05-2005 a 09:08:22

Oui, dans le même style et avec des alias çà marche.
Merci beaucoup

Titre: Re:[mysql] update à partir d'une autre table
Posté par: Shain le le 10-05-2005 a 09:46:12

Je ne savais pas qu'on pouvait mettre à jour deux tables avec une même requete, c'est pas mal tout ca :)

Titre: Re:[mysql] update à partir d'une autre table
Posté par: nyrodev le le 10-05-2005 a 11:35:31

Moi non, plus mais dans logique des choses, je vois pas pourquoi ca n'aurait pas marché...
car tu peux tres bien faire des update SET truc=truc+10
donc en fait, ca revient au même...


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.