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

Base de datos - claves

Estas en el tema de Base de datos - claves en el foro de Mysql en Foros del Web. Que tal, tengo la siguiente duda. Estoy realizando una tienda online y para ello comence por diseñar la base de datos. Se ofrecen diversos articulos: ...
  #1 (permalink)  
Antiguo 07/11/2007, 22:04
 
Fecha de Ingreso: marzo-2006
Mensajes: 19
Antigüedad: 18 años, 1 mes
Puntos: 0
Base de datos - claves

Que tal, tengo la siguiente duda. Estoy realizando una tienda online y para ello comence por diseñar la base de datos. Se ofrecen diversos articulos:

BEBES
BLANQUERIA
AJUAR
NIÑOS
JUEGOS
TATETI
ROMPECABEZAS
CASA MUÑECOS
ORGANIZADORES
CAJAS
CAJON MIMBRE
CAJON RUEDAS
MUEBLES
REPIZA
MESAS/SILLAS
ESCRITORIO NENA

ACCESORIOS
CUADRITOS ESPEJOS
HADAS
ALAJERO
PERCHERO
Y cree 3 tablas, una para los productos, otra para las categorias y otra para relacionar a estas dos. Ahora bien mi pregunta es la siguiente:

PRODUCTOS
id_producto | nombre | descripcion | precio

RELACION
id_producto | id_categoria

CATEGORIAS
id_categoria | nombre

El campo id_producto de la tabla relacion esta definida como clave foranea.

Como hago para que el id_producto de la tabla productos coicida con el id_producto de la tabla de relacion? es decir cuando yo inserto un registro, no especifico la clave, directamente lo dejo con el campo autonumerico. Como hago para tomar ese campo autonumerico e insertarlo en la otra tabla? se puede hacer en una consulta?
  #2 (permalink)  
Antiguo 08/11/2007, 14:58
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Base de datos - claves

Hola, lo que tienes que hacer es lo siquiente, primero para poder asegurar la integridad referencial debes utilizar tablas innodb asegurate que estes usando ese tipo de tablas y no myisam, segundo una vez que insertaz un producto debes tomar ese id que se ha generado puedes hacerlo con una consulta sql algo como
SELECT MAX(id) FROM tu tabla o si estas utilizando php, con la instruccion mysql_insert_id() obtienes el identificador del ultimo registro insertado despues de hacer un insert, despues haces lo mismo con la categoria, y finalmente asignas esos dos valores en la tabla relacion. Espero que sirva.
Saludos
__________________
->Aprender es un proceso que incluye el error..
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:55.