(modifié le 31 octobre 2009 à 13:09)

remplacer-chaine-mysqlPour plusieurs raisons, il arrive que vous soyez amené à modifier un mot, une adresse ou de façon plus générale modifier une chaine de caractères dans votre base de données.

Typiquement, lorsque vous changez de nom de domaine et que vous disposez d'un blog cette opération est très pratique mais surtout, nécessaire. Comme je me sers régulièrement de cette petite astuce, j'ai décidé de la partager, bien qu'elle ne soit absolument pas secrète ou complexe.

Commande MySQL :

[sql]UPDATE Table SET le_champ=REPLACE(le_champ,'chaine a remplacer','chaine de remplacement) WHERE le_champ LIKE '%chaine a remplacer%'[/sql]

Voici un exemple d'utilisation, tiré d'une de l'opération de migration de Blogmotion (changement de serveur). Cette modification impactait le chemin absolu du blog sur un serveur Linux :

[sql]UPDATE wp_postmeta SET meta_value = replace(meta_value, '/var/www/virtual/blogmotion.fr/htdocs', '/var/www/sites/blogmotion.fr/html') WHERE meta_value LIKE '%/var/www/virtual/blogmotion.fr/htdocs%'[/sql]

Disons que c'est l'équivalent du str_replace si vous utilisez PHP.

Si vous obtenez des erreurs d'exécution, apportez la plus grande attention à la syntaxe.

N'hésitez pas à partager vos astuces dans les commentaires.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter