Bonjour à toutes et à tous,

J'ai un souci avec ces fonctions
Dans ma rubrique 'Intitulé' J'ai des occurrences qui contiennent la valeur 'Tarif 1' que je dois remplacer par 'Tarif 2' sous certaine conditions.
Le but étant bien evidemment de ne pas toucher au reste des caractères.
C'est pourquoi j'ai trouver la fonction REPLACE tres interressante.
Je vous donne un exemple de ce que je peux avoir dans le champs 'Intitule' :
Tarif 1 : chaussure
bonnet: Tarif 1

Voici ma requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
UPDATE ECRITURE SET Intitule = REPLACE(Intitule, "Tarif 1","Tarif 2")
WHERE IDPiece IN (SELECT DISTINCT IDPiece 
  FROM ECRITURE 
  WHERE CodeJournal='001' AND CompteAuxiliaire > '' AND MontantDebit < 100
)
et l'erreur retourné par MySQL 4.1
#1093 - You can't specify target table 'ecriture' for update in FROM clause

Pourtant cette requete là ne retourne pas d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT REPLACE(Intitule, "Tarif 1","Tarif 2") FROM ECRITURE
WHERE IDPiece IN (SELECT DISTINCT IDPiece 
  FROM ECRITURE 
  WHERE CodeJournal='001' AND CompteAuxiliaire > '' AND MontantDebit < 100
)
Merci d'avance