|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Membre éclairé
![]() Date d'inscription: octobre 2005
Messages: 390
|
Bonjour à tous!
J'ai un petit soucis, et j'avoue ne pas bien comprendre pourquoi. J'ai toujours eu du mal avec cette erreur mais il me semblait que la solution du AS corrigait ça, pourtant j'ai encore la même erreur : Code :
UPDATE infos AS p1 SET p1.px = p1.px - 1000 WHERE p1.id = 1 AND p1.ip IN (SELECT p2.ip FROM infos AS p2 WHERE p2.id = 2) Pourtant pas de P1 dans le FROM... Une idée? J'a trompé? |
|
|
|
|
|
#2 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: août 2005
Messages: 516
|
Bonjour,
vous ne pouvez pas effectuer un UPDATE avec une sous-requête SELECT travaillant sur la même table, pour effectuer cette requête, vous devez créer une table temporaire qui fera la passerelle entre le SELECT et l'UPDATE. Cela a été dit plusieurs fois dans les derniers jours. Code :
UPDATE infos AS p1 SET p1.px = p1.px - 1000 WHERE p1.id = 1 AND p1.ip IN ( SELECT * FROM ( SELECT p2.ip FROM infos AS p2 WHERE p2.id = 2 ) tmp ) ; DaRiaN. Dernière modification par DaRiaN ; 20/02/2008 à 15h30. Motif: ajout de la requête |
|
|
|
|
|
![]() |
||
Can't specify target in FROM clause
|
||
| Outils de la discussion | |
|
|