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

Como insertar un registro en una tabla y eliminarlo a la vez de otra

Estas en el tema de Como insertar un registro en una tabla y eliminarlo a la vez de otra en el foro de Mysql en Foros del Web. Hola tengo 2 tablas una se llama INVENTARIO (código_inv, descripción_inv, precio_inv, fecha_inv) y la otra VENTAS (código_ven, descripción_ven, precio_ven, fecha_ven) . Al vender un producto ...
  #1 (permalink)  
Antiguo 13/08/2009, 23:42
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Como insertar un registro en una tabla y eliminarlo a la vez de otra

Hola tengo 2 tablas una se llama INVENTARIO (código_inv, descripción_inv, precio_inv, fecha_inv) y la otra VENTAS (código_ven, descripción_ven, precio_ven, fecha_ven) .
Al vender un producto necesito insertarlo a la tabla de ventas y a la vez eliminarlo de la tabla inventario. Como seria la consulta SQL, muchas gracias por la colaboracion.
  #2 (permalink)  
Antiguo 14/08/2009, 00:06
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Como insertar un registro en una tabla y eliminarlo a la vez de otra

Creo que sería mucho mejor trabajar con el lenguaje de programación que estes usando y hacer dos queries. Uno para insertar en VENTAS y otro borrar en INVENTARIO. Me refiero a algo así. Uso PHP para el ejemplo
Código php:
Ver original
  1. $query = mysql_query("INSERT INTO VENTAS (codigo_ven, descripcion_ven, precio_ven, fecha_ven) VALUES ('".$_POST["codigo_ven"]."','".$_POST["descripcion_ven"]."','".$_POST["precio_ven"]."','".date("Y-m-d")."')") or die(mysql_error());
  2. $delete = mysql_query("DELETE FROM INVENTARIO WHERE codigo_inv='".$_POST["codigo_inv"]."'") or die(mysql_error());

Tambien te sugiero que las tablas no las hagas con acentos, te va a ahorrar errores en el futuro
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 14/08/2009, 06:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Como insertar un registro en una tabla y eliminarlo a la vez de otra

También puedes hacer uso de triggers para hacerlo automático. Pero necesitarías el código del producto como campo similar en ambas tablas, pero por lo que has puesto no lo tienes así.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 14/08/2009, 10:10
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Como insertar un registro en una tabla y eliminarlo a la vez de otra

Que mas Abimaelrc:

Si estoy usando php con mysql, y la inserción de los campos es igual a la que yo tengo, el problema de la solución es al eliminar instantaneamente el registro que inserte en VENTAS de la tabla INVENTARIO y que éste quede almacenado sólo en VENTAS.

Cita:
$delete = mysql_query("DELETE FROM INVENTARIO WHERE codigo_inv='".$_POST["codigo_inv"]."'") or die(mysql_error());
Con éste código no puedo eliminar el registro en INVENTARIO, porque al insertar no se como referenciarlo para poderlo eliminar. ¿Cómo hago para relacionar codigo_ven de la tabla VENTAS con codigo_inv de la tabla INVENTARIO. Para que al insertarlo en VENTAS se deje eliminar de INVENTARIO.
  #5 (permalink)  
Antiguo 14/08/2009, 11:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Como insertar un registro en una tabla y eliminarlo a la vez de otra

Debes crear en el formulario que usas para hacer el insert un campo de hidden que tenga ahi el id de INVENTARIO. Cuando pases los datos le indicas el campo de hidden que borre ese id
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
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 15:33.