Cómo migrar de una tabla de base de datos a otra en la que se comparten algunos datos en MySQL

Tiempo de lectura: < 1 minuto

Hoy vamos a ver una estrategia para poder migrar datos de una tabla de base de datos MySQL en la que se han eliminado columnas o añadido.

Reloj -pexels

Vamos a seguir estos pasos para no morir en el intento:

  • Lo primero que haremos es copiar la tabla de la base de datos anterior (la correspondiente a la copia de seguridad) y le pondremos tabla_temp, para indicar que borraremos esa tabla.
CREATE TABLE tabla_temp(
    id INT,
    apellidos VARCHAR(255),
   ...
);
  • Ahora lo que haremos es restaurar los datos en esa tabla.
INSERT INTO tabla_temp(id, apellidos, ...
VALUES
(2, NULL, ...
  • Ahora transferiremos los datos de esa tabla a la nueva:
INSERT INTO tabla (apellidos...
SELECT apellidos, ...
FROM tabla_temp;

También podemos añadir nuevos valores que no existian y que puedan ser obligatorios en la nueva tabla indicando de esta forma:

INSERT INTO tabla (dni, apellidos, ...
SELECT
    '' AS dni,                  -- Poner el campo dni vacío
   apellidos,
   ...
FROM tabla_temp;

Si queremos añadir timestamp podremos:

INSERT INTO tabla (... timestamp)
SELECT
   ...
    timestamp
FROM tabla_temp;
  • Finalmente borramos la tabla temporal
DROP TABLE tabla_temp;

Deja un comentario