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

Error actualizando tabla mysql con update

Estas en el tema de Error actualizando tabla mysql con update en el foro de Mysql en Foros del Web. Hola, tengo un problema al intentar duplicar un campo de una tabla usando la información contenida en otra, el asunto es que ambas tablas tienen ...
  #1 (permalink)  
Antiguo 01/01/2014, 14:24
Avatar de andrespalacio  
Fecha de Ingreso: noviembre-2012
Ubicación: Panamá
Mensajes: 21
Antigüedad: 12 años
Puntos: 0
Error actualizando tabla mysql con update

Hola, tengo un problema al intentar duplicar un campo de una tabla usando la información contenida en otra, el asunto es que ambas tablas tienen una columna en común "order_id", pero no entiendo porque no me funciona

Cuando uso un número de orden tomado de la tabla 2 manualmente, funciona y me pone el valor en todos los campos de la columna en la tabla 1:
Código MySQL:
Ver original
  1. UPDATE mi_tabla_1
  2. SET order_coms = (SELECT product_coms FROM mi_tabla_2 WHERE order_id=123)

Pero obviamente la idea es que me ingrese el valor correspondiente a su respectiva "order_id", así que pruebo haciendo esto, pero no me actualiza los campos
Código MySQL:
Ver original
  1. UPDATE mi_tabla_1
  2. SET order_coms = (SELECT product_coms FROM mi_tabla_2 WHERE order_id=order_id)

Quisiera que alguien me echara una manito con esto, donde está la falla?

Agradezco de antemano su ayuda y les deseo a todos un feliz 2014.

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos. Leer las normas del foro, por favor.

Última edición por gnzsoloyo; 01/01/2014 a las 15:22
  #2 (permalink)  
Antiguo 01/01/2014, 15:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Error actualizando tabla mysql con update

Tres cosas:
- No compliques las cosas. Ya existe el JOIN para relacionar dos tablas, incluso en un UPDATE.
- Si estás intentando esa query de ese modo sin duda te debe estar saliendo un error de MySQL que probablemente no estés capturando. No dejes nunca de capturar los errores. Si no los vemos, no podemos saber por donde empezar (a menos que sea muy evidente).
- Tu query está mal escrita para lo que necesitas, como ya dije. Con JOIN tienes mejores posibilidades:
Código MySQL:
Ver original
  1. UPDATE T1 FROM mi_tabla_1 T1 INNER JOIN mi_tabla_2 T2 ON T1.order_id = T2.order_id
  2. SET T1.order_coms t2.product_coms;

O bien lo haces en un join implícito:
Código MySQL:
Ver original
  1. UPDATE mi_tabla_1, mi_tabla_2
  2. SET T1.order_coms t2.product_coms
  3. WHERE mi_tabla_1.order_id = mi_tabla_2.order_id;

Por favor, lee las normas del foro.
__________________
¿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 01/01/2014, 18:12
Avatar de andrespalacio  
Fecha de Ingreso: noviembre-2012
Ubicación: Panamá
Mensajes: 21
Antigüedad: 12 años
Puntos: 0
Respuesta: Error actualizando tabla mysql con update

Muchas gracias Gnzsoloyo funcionó perfecto, voy a leer detenidamente las normas del foro y nuevamente te deseo un feliz año nuevo.

Etiquetas: campo, php, select, sql, tabla, update
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 22:08.