Foros del Web » Programando para Internet » PHP »

actualizar dos tablas gemelas

Estas en el tema de actualizar dos tablas gemelas en el foro de PHP en Foros del Web. Hola, tengo una base de datos con dos tablas gemelas, la tabla_origen recibe datos continuamente y la tabla_gemela es una copia de la anterior. Mediante ...
  #1 (permalink)  
Antiguo 04/02/2016, 07:30
 
Fecha de Ingreso: abril-2015
Mensajes: 45
Antigüedad: 9 años
Puntos: 0
actualizar dos tablas gemelas

Hola, tengo una base de datos con dos tablas gemelas, la tabla_origen recibe datos continuamente y la tabla_gemela es una copia de la anterior.

Mediante php y una rutina hago que los datos de tabla_origen se copien en tabla_gemela.

Pero... si hago un cambio en uno de los datos de tabla_origen, éste no se actualiza en tabla_gemela si el registro ya ha sido copiado...la pregunta es...¿cómo actualizo TODOS los registros en una sola consulta?

He pensado en hacer un TRUNCATE y a continuación volver a copiar todos los datos de una a otra...pero... se puede evitar esta opción y hacerlo mediante UPDATE??

Saludos.
  #2 (permalink)  
Antiguo 04/02/2016, 08:00
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: actualizar dos tablas gemelas

Puedes hacer update de las dos tablas al mismo tiempo desde php pero lo que no entiendo es cuál es la funcionalidad de tener dos tablas iguales si se van a hacer exactamente las mismas operaciones con las dos.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 04/02/2016, 08:07
Avatar de 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: actualizar dos tablas gemelas

A nivel de diseño y arquitectura de BBDD se considera un error grave tener tablas duplicadas, y peor aún si esa duplicación replica también DATOS...
Las consecuencias a largo plazo pueden ser impredecibles.
¿Exactamente por qué tienes eso?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 04/02/2016, 09:26
 
Fecha de Ingreso: abril-2015
Mensajes: 45
Antigüedad: 9 años
Puntos: 0
Respuesta: actualizar dos tablas gemelas

Si las tengo duplicadas es por necesidad, una se llama tabla1 y la otra tabla2, por ejemplo, ambas tablas con los mismos campos, no sé qué error grabe puede causar eso...
¿Un update de ambas tablas? La tabla1 o tabla_origen no quiero actualizarla, ya que se actualiza automáticamente, como le entran los datos no viene al caso, sólo que no puedo acceder a la entrada de esos datos para duplicarlos en la otra.
Lo que necesito es que cada x tiempo (lo hago mediante un php) se copien los datos de la tabla1 a la tabla2, ¿la funcionalidad? Es un poco largo de explicar, pero en resumen eso es lo que necesito.
Si hago un TRUNCATE de la tabla2, y luego un INSERT desde la tabla1 a la tabla2, todo solucionado, pero quisiera saber si se puede hacer un UPDATE de la tabla2 para recuperar posibles cambios que se hayan podido hacer en la tabla1, ya que una fila de datos una vez copiada como dije antes, no se vuelve a copiar si se modifica.
  #5 (permalink)  
Antiguo 04/02/2016, 09:34
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: actualizar dos tablas gemelas

Obviamente como le entran los datos a la tabla origen si viene al caso, porque en el caso de que quieras continuar con esa idea que para nosotros no tiene tanto sentido, debes hacer lo mismo que hagas para ingresar datos en la tabla origen en la tabla duplicada. P ej: si en la tabla origen haces un insert debajo de ese insert debes hacer otro exactamente igual pero en la tabla duplicada, si haces un update debes hacer lo mismo en la otra y así sucesivamente.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #6 (permalink)  
Antiguo 04/02/2016, 09:35
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Respuesta: actualizar dos tablas gemelas

Omitiendo las necesidades que tengas, se me ocurre lo siguiente:

Generar trigers en el lado de la tabla origen tabla1 para las acciones Insert, Update y delete que serán afectadas en la tabla2.

también puedes optar por otras opciones, pero no recomiendo que este proceso lo realices por PHP, es mala idea, de pronto esto te ayude.

Saludos
  #7 (permalink)  
Antiguo 04/02/2016, 09:50
 
Fecha de Ingreso: abril-2015
Mensajes: 45
Antigüedad: 9 años
Puntos: 0
Respuesta: actualizar dos tablas gemelas

El caso es que los datos que entran a la tabla1 NO los puedo tocar, se envían automáticamente desde un software al cual no tengo acceso.

Actualmente para la tabla2 lo que tengo es un php que se ejecuta cada x tiempo llamando a una rutina grabada en phpmyadmin ($sql=call rutina()).
Esa rutina lo que hace es un TRUNCATE a la tabla2 y a continuación copiar los datos de la tabla1 a la tabla2.

Mi obsesión por usar UPDATE en la tabla2 es por si se puede evitar el TRUNCATE.
  #8 (permalink)  
Antiguo 04/02/2016, 10:01
 
Fecha de Ingreso: abril-2015
Mensajes: 45
Antigüedad: 9 años
Puntos: 0
Respuesta: actualizar dos tablas gemelas

Mmmmm... el tema de los triggers parece interesante... pero no lo domino...uso phpmyadmin...¿me sabrías dar un ejemplo de trigger que al actualizar un registro en la tabla1, automáticamente se actualice en la tabla2?
  #9 (permalink)  
Antiguo 04/02/2016, 10:09
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Respuesta: actualizar dos tablas gemelas

mmm, comentarte que estas preguntando en una sección PHP casos de sql.

deberías entender que los trigger son disparadores que se ejecutan antes o depues de una acción, todo esto lo puedes verificar en estos ejemplos

http://www.fpress.com/revista/num0206/art.htm

http://www.hermosaprogramacion.com/2...mysql-trigger/

https://dev.mysql.com/doc/refman/5.5...er-syntax.html

Saludos
  #10 (permalink)  
Antiguo 04/02/2016, 10:16
 
Fecha de Ingreso: abril-2015
Mensajes: 45
Antigüedad: 9 años
Puntos: 0
Respuesta: actualizar dos tablas gemelas

Muchas gracias, al final desembocó en sql sin darme cuenta... muevo el tema a sql, gracias.

Etiquetas: registro, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:45.