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.
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;
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.