rrc2software Blog Proyectos
rrc2software Blog Proyectos
Sustituir una cadena de texto por otra en una base de datos MySQL

Sustituir una cadena de texto por otra en una base de datos MySQL

Cuando se realizar una migración de una aplicación de un servidor a otro, en muchas ocasiones, se almacenan valores dentro de la base de datos que hacen referencia a la antigua ubicación de la aplicación.

Para ello se hace necesario buscar estos valores en todos los campos de la base de datos y sustituirlos por su nuevo valor.

Existen varias maneras de realizar esta tarea: de forma manual, exportando la base de datos mediante el comando mysqldump y modificando el archivo resultante, ....

Aquí proponemos una solución mediante una sentencia SQL que genera las sentencias necesarias para realizar estos cambios directamente en la base de datos:

SELECT CONCAT('UPDATE ',table_schema,'.',table_name,' SET ',column_name,'=REPLACE(',column_name,',''BUSCAR'',''REEMPLAZAR'');')
FROM information_schema.columns
WHERE table_schema = 'BASE_DATOS'
--- Sustituir por esta línea si se desea realizar en todoas las bases de datos
--- WHERE table_schema NOT IN ('information_schema','mysql','performance_schema')
AND (column_type LIKE 'char(%' OR column_type LIKE 'varchar(%' OR column_type LIKE '%text');
Tweet Share Share Pin Share Email

Última modificación: Sep 11, 2022

Volver al inicio