[RESOLU] Syntaxe SQL pour modifier un mot

Eléphant du PHP | 169 Messages

03 janv. 2013, 11:59

Bonjour,
j'aurais besoin de conseil.
je voudrais modifier une partie de mot qui ce trouve dans une table. Pourriez vous me valider ma requette SQL avant que je l’exécute, car j'ai un doute... :)
Le mot à chercher est "Face 2" est il doit être remplacer par "F.A.C.E. 2"
UPDATE `pages` SET `texte_en` = REPLACE (`texte_en` , 'face 2', 'F.A.C.E. 2')
ou
UPDATE pages SET texte_en='F.A.C.E. 2' WHERE 'texte_en' LIKE '%face 2%'
Merci pour votre aide
--
Kweb

ViPHP
xTG
ViPHP | 7331 Messages

03 janv. 2013, 12:21

La seconde ne ferra pas ce que tu souhaites.
Elle va remplacer tout le contenu du champs, au lieu de remplacer le mot.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 janv. 2013, 12:29

salut,

le premier va essayer le replace sur toutes les lignes de ta table.
le second remplacer le texte complet (par F.A.C.E. 2) pour toutes les lignes qui contiennent face 2

un mixte des deux serais judicieux, mais au pire le premier devrait fonctionner.

tu peux virer les ` elles ne sont utiles que dans le cas où tu utiliserais un mot clef SQL en nom de champs, ce qui n'est pas le cas (et ne devrait pas l'être ;) ).

A tu testé cette requête dans un client sql ?

@+

mais heu xTG tu tape trop vite :/
Il en faut peu pour être heureux ......

Eléphant du PHP | 169 Messages

03 janv. 2013, 12:40

Ok, merci
la 1er solution à marcher nickel.
Encore merci pour vos conseils...
--
Kweb

ViPHP
xTG
ViPHP | 7331 Messages

03 janv. 2013, 14:25

Je tape trop vite mais à me relire j'en ai oublié un morceau. :shock:

Eléphant du PHP | 169 Messages

03 janv. 2013, 15:11

j'ai utilisé la première syntaxe
UPDATE `pages` SET `texte_en` = REPLACE (`texte_en` , 'face 2', 'F.A.C.E. 2')
et ça ma bien modifié le texte comme je le souhaitez.
--
Kweb