Reemplazar cadenas en MySQL

Patxi Echarte, March 19th, 2005

A menudo es necesario realizar sustituciones de cadenas en información almacenada en base de datos de forma masiva. Por ejemplo hoy he necesitado realizar un cambio en todos los enlaces que se referencian en la base de datos de este web, gestionada con WordPress, para que a aquellos que tuvieran target="_blank" se les añadiera un class="external". Esto antes lo hacía con un plugin de forma automática, pero lo hacía para todos los target blanks, y en estos momentos me interesa que sea únicamente para los que correspondan a webs externos, de forma que únicamente en estos casos salga el iconito de la flecha a su derecha.

Para hacer este cambio lo más sencillo es realizar una consulta SQL que sustitula la cadena target="_blank" por target="_blank" class="external" en todos los contenidos. Esto es tan sencillo como realizar la siguiente query:

UPDATE wp_posts
SET post_content = REPLACE (post_content,'target="_blank"','target="_blank" class="external"'
)

Por supuesto es posible realizar este cambio sobre determinados registros utilizando where en la consulta.

Referencias

Comparte esta información

3 Comentarios para “Reemplazar cadenas en MySQL”

  1. Mauricio Munera dice:

    Mil Gracias por este post, me soluciono un problema al que le venía pensando desde un buen rato.

    Saludos.

  2. emarts dice:

    Genial, yo también te lo agradezco!
    Me has ahorrado un bueeeeeeeen tiempo de trabajo :-D

    Saludos

  3. Anuncio IMPORTANTE: ¡Nos mudamos! | Emarts dice:

    […] Este excelente tutorial me ayudo mucho para reemplazar cadenas en la base de datos, cosa que me permitio eliminar cadenas de texto que contenieran la vieja url del blog en los post y por supuesto reemplazar urls caducadas en los attachs, esta sencilla función del MySQL me ahorro muuuuuuuuuuuuuuuuuuuuuuucho tiempo :D […]

Deja un comentario