MySQL - error en update

   
Vista:

error en update

Publicado por alan carrillo romero (2 intervenciones) el 06/04/2009 18:38:32
hola buen dia, tengo un problema con una sentencia

update inventario set id_provedor=img_factura.id_provedor,factura=img_factura.factura,dia=img_factura.dia,
mes=img_factura.mes,año=img_factura.año,cambio=img_factura.cambio,
producto=img_factura.producto,cantidad=img_factura.cantidad,
precio=img_factura.precio,total=img_factura.total
from inventario join img_factura on inventario.id_inventario=inventario.id_inventario

la sentencia es la que uso para pasar los datos de una tabla a otra, esa misma sentencia la use con este where :

where inventario.factura=" & factura & " and inventario.id_provedor=" & provedor & "

y me marca error e intentado de distintas formas y no se puede.

gracias por sus propuestas y resultados

Alan Carrillo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:error en update

Publicado por Gonzalo GC (103 intervenciones) el 07/04/2009 01:25:28
UPDATE inventario I INNER JOIN img_factura F USING (id_inventario)
SET I.id_provedor=F.id_provedor,
I.factura=F.factura,
I.dia=F.dia,
I.mes=F.mes,
I.año=F.año,
I.cambio=F.cambio,
I.producto=F.producto,
I.cantidad=F.cantidad,
I.precio=F.precio,
I.total=F.total
WHERE I.factura= ?factura AND I.id_provedor= provedor;

Las sentencias UPDATE e INSERT no tienen la misma sintaxis. El el caso de UPDATE el JOIN va en el encabezado, porque es allí donde se declara la tabla a actualizar.

En el ejemplo, USING cumple la función del ON, pero sólo se usa cuando los campos de enlace (las claves) llevan el mismo nombre en ambas tablas.

El JOIN es riesgoso, porque el JOIN trata de hacer una igualación entre TODOS LOS CAMPOS CON EL MISMO NOMBRE. Es funcional solamente porque estás usando ON para especificar el campo a usar de vinculo.

Por cuestiones de seguridad de bases de datos, te conviene usar (ya que infiero estás programando en VB) el conector para VB y usar parámetros en la instancia de MysqlCommand.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error en update

Publicado por alan (2 intervenciones) el 12/04/2009 22:40:42
muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar