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

Insertar en dos tablas con el mismo Id

Estas en el tema de Insertar en dos tablas con el mismo Id en el foro de Mysql en Foros del Web. Hola amigos del foro! Tengo la siguiente duda que ya llevo arrastrando largo tiempo. Resulta que tengo dos tablas: 1) clientes (campo idcliente) clave principal ...
  #1 (permalink)  
Antiguo 08/03/2011, 07:05
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 15 años, 9 meses
Puntos: 0
Insertar en dos tablas con el mismo Id

Hola amigos del foro!

Tengo la siguiente duda que ya llevo arrastrando largo tiempo.

Resulta que tengo dos tablas:

1) clientes (campo idcliente) clave principal y autonumerico.
2) compras (campo idcompra) campo numerico sin clave ni nada.

Quiero hacer un INSERT INTO en ambas tablas.
El problema es que el campo idcompra debe tener el valor que recoja el campo idcliente. Pero como ese campo aún no está creado, no se como capturar dicho valor.

Se me ocurrió que podria hacer el INSERT INTO primero en clientes, ir a buscar el valor de icliente y luego hacer el INSERT INTO en compras. Pero no me parece una forma muy 'limpia', ademas, es una tabla multiusuario y si hay varios añadiendo al mismo tiempo ¿como estoy seguro que capturará el idcliente que le corresponde?

Espero que se haya entendido mi duda y no haber sido muy deeenso.

Un saludo, gracias.
  #2 (permalink)  
Antiguo 08/03/2011, 07:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Insertar en dos tablas con el mismo Id

En principio creo que deberas hacer lo que indicas, ya que primero necesitar insertar el cliente para crearle el id, antes de insertar la compra.

Creo que existen la forma de poder recuperar los datos del ultimo registro insertado, pero si tienes varios usuarios añadiendo al mismo tiempo podria ser un problema usarlo. Lo mas seguro es consultar el id creado con los datos del cliente que acabas de insertar.

saludos
  #3 (permalink)  
Antiguo 08/03/2011, 07:58
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: Insertar en dos tablas con el mismo Id

Puedes recojer el mismo valor de idcliente y guardarlo a la vez en las dos tablas:


$insercion_cliente = "INSERT INTO clientes (id_cliente,nombres)

VALUES ('$id', '$nombres' )";

$insercion_compra= "INSERT INTO compras(id_compra)

VALUES ('$id' )";


El valor de id que se registre en la tabla clientes sera el mismo que se ingrese en la tabla compras
  #4 (permalink)  
Antiguo 08/03/2011, 08:33
 
Fecha de Ingreso: noviembre-2010
Ubicación: chile,santiago
Mensajes: 101
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Insertar en dos tablas con el mismo Id

creo que lo mejor es relacionar las tablas si bien es cierto que puedes hacer un doble insert
piensa cuando quieras eliminar a un cliente aun quedaran sus compras ingresadas i como la tabla no esta relacionada no te borrara nada ni en casacada ni nada
creo que lo mejor es agregar la foranea a comprar i relacionar

Etiquetas: tablas
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 03:18.