Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/04/2011, 05:12
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cambio de tablas sql

Mas o menos se va entendiendo.
Partamos de la base que cuando hablamos de Bases de Datos no hablamos de "archivos" sino de tablas, y los diferentes DBMS pueden o no poner los datos en diferentes archivos (en todo caso, las tablas InnoDB requieren dos por tabla y eso no necesariamente contiene todo)
Lo que no puedes hacer es "pasar" una columna que pertenece a una tabla a otra, en el sentido de sacar la columna. Lo que haces es copiarla de una tabla a otra, previo crear en la tabla des tino la columna adicional.
O sea:
1) Creas la columna adicional:
Código MySQL:
Ver original
  1. ALTER TABLE tablachino ADD COLUMN `texto_sp` TEXT;
(estoy suponiendo que la columna original es un TEXT, tú ponle lo que quieras)

2) Realizas un JOIN donde vinculas cada registro de la tabla destino con su correlativo de la tabla origen. Cuáles campos son los que deben relacionarse lo sabes tu, no yo, así que pon lo que corresponde:
Código MySQL:
Ver original
  1. UPDATE tablachino INNER JOIN tablaesp ON tablachino.id = tablaesp.id
  2. SET tablachino. `texto_sp` = = tablaesp.texto;
Eso copiaría el contenido de cada campo, donde coincida en el INNER JOIN.

Atención: No se debe usar este tipo de consultas si no hay una forma indubitable de relacionar un único registro de una tabla con uno y sólo uno de la otra. En caso contrario, los resultados serán erróneos.
Si no se puede hacer un INNER JOIN, lo tendrás que hacer a mano, o crear una aplicación para migrar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 14/04/2011 a las 05:30