Page 1 sur 1

Modification de champs dans la base Mysql

Posté : 09 oct. 2012, 14:50
par t671
Bonjour,

J'ai plusieurs données à modifier dans ma base de donnée.
Si j'écris :
mysql_query("UPDATE ville_test SET prenom = 'Noël' WHERE prenom = 'No?L' ");
cela fonctionne.
Mais si c'est un prénom composé, cela ne fonctionne plus. J'ai essayé
mysql_query("UPDATE ville_test SET prenom = '%Noël%' WHERE prenom = '%No?L%'");

mais ça ne fonctionne pas. Et je dois donc incrire une ligne pour chaque prénom composé (Marie No?L , Jean No?L , Pierre No?L , .......).

Comment puis-je faire ?
Merci.

Re: Modification de champs dans la base Mysql

Posté : 09 oct. 2012, 15:26
par moogli
Salut,

Dans le prédicat (where) utilise la clause like et non l'égalité.

@+

Re: Modification de champs dans la base Mysql

Posté : 09 oct. 2012, 16:23
par t671
Merci Moogli, mais ça ne change rien ! :(
Si j'ai 5 prénoms No?L et 2 prénoms Jean-No?L, je voudrais faire une seule commande pour les modifier tous en Noël !

Re: Modification de champs dans la base Mysql

Posté : 09 oct. 2012, 16:31
par moogli
et tu as fait quoi ?

sachant que tu ne peux pas remplacer comme ça à la volé une partie tel que tu l'a fait.

tu va devoir remplacer la partie foireuse par la bonne (l'équivalent de str_replace est le replaceen SQL)

il te faut modifier ta requête dans ce sens + le like


@+

Re: Modification de champs dans la base Mysql

Posté : 09 oct. 2012, 17:49
par t671
testé avec REPLACE :
mysql_query('UPDATE ville_test2 SET prenom = REPLACE (prenom,"%S?Bastien%","%Sébastien%") where prenom like "%S?Bastien%"');
Je n'ai eu aucun résultat, aucun message d'erreur !