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

necesito actualizar una tabla con los valores de otra

Estas en el tema de necesito actualizar una tabla con los valores de otra en el foro de Mysql en Foros del Web. No se como tendria que hacerlo y tampoco quiero probar por si la lio mas teniendo dos tablas necesito actualizar los datos de una con ...
  #1 (permalink)  
Antiguo 18/06/2014, 10:10
 
Fecha de Ingreso: agosto-2011
Mensajes: 306
Antigüedad: 12 años, 8 meses
Puntos: 5
necesito actualizar una tabla con los valores de otra

No se como tendria que hacerlo y tampoco quiero probar por si la lio mas teniendo dos tablas necesito actualizar los datos de una con los valores de otra.


datos1
Código table:
Ver original
  1. id_dato     articulo
  2. 1               informatica
  3. 2               electrodomesticos


datos2
Código table:
Ver original
  1. id    repuesto        id_dato fk
  2. 1     procesador     1
  3. 2     motor              2


la tabla que tengo que actualizar es la tabla2 en el campo id_dato que actualmente tengo el id_dato de la tabla1 quiero insertar el articulo correspondiente a ese identificador quedando asin.

datos1
Código table:
Ver original
  1. id_dato     articulo
  2. 1               informatica
  3. 2               electrodomesticos

datos2
Código table:
Ver original
  1. id    repuesto        id_dato fk
  2. 1     procesador     informatica
  3. 2     motor              electrodomesticos



Código MySQL:
Ver original
  1. UPDATE datos2 INNER JOIN datos1 ON datos1.id_dato = datos2.id_dato SET datos2.id_dato =datos1.articulo

Alguien me confirma si es asin la consulta que quiero?
saludos
  #2 (permalink)  
Antiguo 19/06/2014, 01:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: necesito actualizar una tabla con los valores de otra

Eso seria un error, la estructura de la base de datos esta bien asi, si haces lo que dices vas a estropear el modelo relacional.

Ademas no es necesario

Código MySQL:
Ver original
  1. SELECT d2.id,d2.repuesto,d2.id_dato,d1.articulo
  2. FROM datos2 d2 INNER JOIN datos1 d1 ON d2.id_dato=d1.id_dato;


esta query te da lo que pides.

Incluso puedes crear una vista

Código MySQL:
Ver original
  1. CREATE VIEW "v_datos2" AS SELECT d2.id,d2.repuesto,d2.id_dato,d1.articulo
  2. FROM datos2 d2 INNER JOIN datos1 d1 ON d2.id_dato=d1.id_dato;

La vista v_datos2 siempre estará actualizada y contendrá lo que querías sin existir como tabla!!!
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: campo, join, tabla
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 04:50.