Rechercher et remplacer une chaine avec MySQL

REGEXP REPLACE like avec MySQL
mardi 6 avril 2010
par  KreaComm’
popularité : 5%

Pour rechercher une chaine et la remplacer par une autre dans un champ spécifique d’une base de données MySQL, voici comment procéder :

UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'[chaine_a_remplacer]','[chaine_de_remplacement]');

Exemple avec un dump, une table encodée en utf-8 et importée dans phpMyAdmin comme si l’encodage était du Latin1 (oup’s !), vous vous retrouvez avec des tas de é ê et autres è à la place de vos accents. Le but étant donc de corriger les caractères accentués de tout ce beau bordel :

UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'é','é');
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'è','è');
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'ê','ê');
UPDATE [nom_de_la_table] SET [nom_du_champ] = REPLACE([nom_du_champ],'Ã ','à');
...

Commentaires

Navigation

Articles de la rubrique