Categorías
Base de datos

Reemplazar un texto en MySQL

A menudo es necesario reemplazar de cadenas de texto almacenada en base de datos de forma masiva.

Por ejemplo si necesitas cambiar los enlaces que apunten a una web por url distinta.

Para hacer este cambio lo más sencillo es realizar una consulta SQL que sustituirla la cadena dominioviejo.com por dominionuevo.com en todos los contenidos.

Esto es tan sencillo como realizar la siguiente query:

UPDATE base de datos SET post_content = REPLACE (post_content,'http://dominioviejo.com','http://dominionuevo.com')

Cómo reemplazar una url por otra en wordpress directamente en la base de datos

La siguiente query la utilizaremos, para migrar de http a https una web, incluido la url de la web, con todos los enlaces de las imágenes y adjuntos.

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl.com', 'https://www.newurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl.com','https://www.newurl.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl.com', 'https://www.newurl.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl.com','https://www.newurl.com');
/* Si tienes el plugin de traduciones WPML */
UPDATE wp_icl_strings SET value = replace(value,'http://www.oldurl.com','https://www.newurl.com');