Pour 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
3 commentaires
ok merci pour l'info
Bonjour,
Et merci, j'avais mis ce tutoriel dans mes bookmarks il y a quelques jours, et aujourd'hui il vient de me récupérer mes images qui n'était pas référencer à la bonne URL dans mes articles après d'un changement de nom de domaine.
Bonne journée.
Ne fonctionne pas si la chaîne de remplacement comporte plus de caractères que la chaîne de départ 😭😭😭