8/27/2009

Actualizar dos tablas con MySQL

Este query me salvo muchas horas de trabajo

Estaba comparando los datos entre dos tablas con la misma estructura (una es temporal de la otra) y me percaté que existían inconsistencias entre varios registros, ir de registro en registro es una tarea algo... complicada y molesta, entonces:

¿Cómo puedo actualizar los registros de la tabla_a con los datos la tabla_b en MySQL?

Googleando encontré el siguiente query:
UPDATE tabla_a, tabla_b
SET tabla_a.campo1 = tabla_b.campo1, tabla_a.campo2 = tabla_b.campo2
WHERE tabla_a.identificador = tabla_b.identificador
Como ves, podemos traspasar los datos de una tabla a otra con un solo query.

Actualización
Otra forma de actualizar una tabla con el contenido de otra:
UPDATE tabla_a
JOIN tabla_b ON tabla_a.identificador = tabla_b.identificador
SET tabla_a.campo1 = tabla_b.campo1, tabla_a.campo2 = tabla_b.campo2
WHERE tabla_a.valor > 10

8/26/2009

Workbench de MySQL

Una ayuda al momento de modelar nuestra base de datos

La tarea es titánica, la misión es documentar el modelo de datos de un proyecto en donde las tablas son mas de 80 y la conexión entre ellas termina formando una tela de araña. El puma me recomendó Workbench de Mysql para crear el modelo.


La herramienta en si es excelente, está disponible para Linux, Mac OS y Windows. Lo interesante es que puede realizar ingeniería inversa a una base de datos ya existente en la red, exportar dicha estructura en formato SQL y también puede sincronizar directamente los cambios realizados para mantenciones en la estructura.

En estos momentos estoy trabajando con Ubuntu 9.04 de 64 bits, en un par de ocasiones se ha cerrado inesperadamente al momento de guardar los cambios, pero al volver abrir el ambiente, noto que no se ha perdido ni un solo dato.

8/19/2009

Instalando Windows XP en Acer Aspire 5516

Cuando algo tan trivial se vuelve complicado

Estuve una semana y un par de días, involucrado en algo que es muy simple para algunos mortales. Básicamente la tarea consistía en insertar un CD o DVD (con algún Windows pirateado), esperar y seguir los pasos de instalación y disfrutar de una linda tarde buscando los drivers para mi flamante notebook Acer Aspire 5516, pero esto no fue así ya que tristemente me quedé pegado en la primera parte.

Me aparecía una pantalla negra después del mensaje "Presione cualquier tecla para iniciar desde el DVD", creí que eran los drivers del disco SATA, pero inserte el mismo CD en otro Notebook (con el mismo disco SATA - Wester Digital - de 160GB) y la instalación se ejecutó sin ningún problema.

¿Alguna maldición?, ¿Dios ya no me quiere?, ¿Alguna conspiración de Ubuntu para no poder ocupar Windows?, en realidad la culpa la tenia el mismo disco SATA. Varias soluciones encontré y entre ellas descubrí que existía nLite.

En pocas palabras nLite es un software para agregar componentes, programas y controladores a cualquier Windows que tengamos a mano, con el podemos fabricar un Windows a nuestro gusto y necesidades, de acá nacieron varios Windows desatendidos, como por ejemplo el UE o el Colossus.

Después de descargarme los controladores del disco SATA y crear un nuevo Windows agregando estos controladores, no me solucionó el problema que tenía con la pantalla negra que me aparecía en el comienzo de la instalación.

Vuelta a tras, decidí borrar el MBR del disco (previo respaldo de mis archivos) y construir la tabla de particiones desde cero. Santo remedio, inserté el disco de Windows que no me funcionaba en un comienzo y me reconoció el disco, la instalación siguió su curso normal y en menos de 30 minutos tenia mi Notbook con Windows XP.

Obviamente instalé Ubuntu 9.04 en una segunda partición :D