Seleccionar página

En algún momento me tocó montar un sistema que extraía información de una base de datos montada en MySQl y que se tenía que actualizar de forma manual. Lo cual parecía práctico ya que este sistema actualiza la información no más de 3 veces al año.


Normalmente me hacían llegar la información en un archivo de excel, el cúal debido a problemas de codificación tenía que convertir a CSV por medio de Google Sheets, esto para mantener codificación UTF-8, que es la codificación que utilizo normalmente en mis bases de datos de MySQL. Posteriormente hacía un “Drop Table” e importaba el archivo con toda la información actualizada.

Pero recientemente sucedió que tuve que actualizar sólo ciertos campos de la base de datos.
Lo primero que hice fué subir el archivo CSV con los datos a actualizar en una tabla nueva (tabla_origen).
Posteriormente, actualicé la base de datos por medio de un INNER JOIN. En donde especifiqué el campo comparativo que en este caso llamaremos “campo_clave” que debería existir tanto en la tabla que contiene la información que necesito actualizar (tabla_origen), como en la tabla que debería recibir la información actualizada (tabla_destino) obviamente.

El código ser vería de la siguiente forma.

[sql]
UPDATE tabla_destino
INNER JOIN tabla_origen ON tabla_destino.campo_clave = tabla_origen.campo_clave
SET tabla_destino.campo_actualizar = tabla_origen.campo_actualizar
WHERE tabla_origen.campo_clave = tabla_destino.campo_clave
[/sql]

El “campo_actualizar” es el campo en el que requiero insertar la información actualizada. En este caso llamé el campo de la misma manera en las dos tablas sólo para fines prácticos.