Commande SQL qui ne modifie que la première ligne...

WRInaute occasionnel
Bonjour à tous !

Quelqu'un a-t-il une idée et peut me dire pourquoi cette p#@§%@ de commande Sql ne me modifie qu'une seule et unique valeur :

Code:
UPDATE `mabase`.`matable` SET `monchamp` = 'valeur' 
WHERE CONVERT( `monautrechamp` USING utf8 ) = 'valeur'

Je veux en fait copier la valeur du champ "monautrechamp" dans le champ "monchamp"

Le problème est que ça marche et ça me modifie qu'une seule valeur, si je change la valeur, la valeur est à nouveau modifiée mais une seule fois !!!
Ca fait 2 heures que je suis dessus et je comprends plus.
Je précise que les valeurs sont des mots... est-ce que c'est important avec utf8 ?
Sinon si vous avez un avis... :?
Merci
 
WRInaute occasionnel
bonjour,

Là, tu dis change les champs pour lesquels monautrechamp=valeur et leur assigner valeur.

Code:
UPDATE `mabase`.`matable` SET `monchamp` =  CONVERT( `monautrechamp` USING utf8 )

Si tu ne veux pas garder l'ancien champ, tu peux aussi faire :

Code:
UPDATE `mabase`.`matable` SET `monautrechamp` =  CONVERT( `monautrechamp` USING utf8 )

J'ai pas testé mais ça devrait fonctionner même si je ne suis pas un kador en sql.

Cordialement,
 
WRInaute impliqué
Peut-être comme cela :
Code:
UPDATE `mabase`.`matable` SET `monchamp` = CONVERT( `monautrechamp` USING utf8 )
WHERE CONVERT( `monautrechamp` USING utf8 ) = 'valeur'

Un problème d'index cassé peut-être ?
 
Discussions similaires
Haut