Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Actualizar en dos tablas al actualizar solo una

Estas en el tema de Actualizar en dos tablas al actualizar solo una en el foro de Mysql en Foros del Web. Saludos a todos. Lamento si mi pregunta sono algo confusa, explico mas o menos lo que quiero dar a entender. Ya hace un tiempo estuve ...
  #1 (permalink)  
Antiguo 28/10/2012, 22:29
Fsg
 
Fecha de Ingreso: junio-2009
Mensajes: 155
Antigüedad: 14 años, 10 meses
Puntos: 5
Pregunta Actualizar en dos tablas al actualizar solo una

Saludos a todos.
Lamento si mi pregunta sono algo confusa, explico mas o menos lo que quiero dar a entender.
Ya hace un tiempo estuve en un pequeño taller de sql (usando mysql), pero hasta hace unos dias vi un ejemplo que le pusieron a un compañero de universidad, donde teniendo dos tablas ya hechas (table1 y table2) al hacer update en la table1, en un campo en especifico de la misma tabla, una vez de que se ejecuto la sentencia UPDATE, en la table2 en un campo especifico, tambien se actualizo.
Mi compañero tampoco no tiene ni idea de como funciona eso, ya que la base de datos la importo , segun me comenta esto es una caracteristica que se le añade a la tabla al momento en que se crea con CREATE ¿alguien sabe como se hace esto?
  #2 (permalink)  
Antiguo 29/10/2012, 03:27
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, 4 meses
Puntos: 2658
Respuesta: Actualizar en dos tablas al actualizar solo una

Aparece en cualquier manual de SQL, y se refiere al caso de las FOREIGN KEY, las cuales pueden definirse con la cláusula ON DELETE CASCADE ON UPDATE CASCADE.
Eso hace que si se actualiza la PL de una tala, las tablas donde esa PK aparezca como FK se actualizarán en cascada-
En MySQL sólo funciona si usas tablas de tipo InnoDB.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/10/2012, 08:30
 
Fecha de Ingreso: octubre-2012
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Actualizar en dos tablas al actualizar solo una

Utiliza Foreign Key para el campo que estara ligada a la tabla que deseas que actualice, en las opciones de Foreign Key pones ON DELETE = RESTRICT y en UPDATE = CASCADE, esto hara que si decides borrar un dato que contienes calculos por ejemplo en facturacion y deseas borrar una transaccion no te permetira que borres en ninguna tabla en caso de actualizar, esta si se modificara en cascada, osea en todas las tablas donde tengas la Foreign Key, cabe mecionar que es mejor utilizar los identificadores de la tabla con el mismo nombre, tipo y la misma longitud para que esto funcione, sino te dara un error, tambien debes utilizar el motor de la bdd en InnoDB.

Saludos.
  #4 (permalink)  
Antiguo 29/10/2012, 15:11
Avatar de fahs82  
Fecha de Ingreso: abril-2012
Ubicación: guadalajara
Mensajes: 139
Antigüedad: 12 años
Puntos: 12
Respuesta: Actualizar en dos tablas al actualizar solo una

tambien investiga sobre el tema de crear triggers con ellos puedes hacer que mysql haga calculos, funciones y actualizaciones al momento de hacer un delete,insert o update

Etiquetas: sql, tabla, tablas, campos
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 19:51.