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

FACIL PERO NO SE: ingresar varios accesorios a una tabla computador

Estas en el tema de FACIL PERO NO SE: ingresar varios accesorios a una tabla computador en el foro de Mysql en Foros del Web. cree un diseño con una relacion de tablas de (accesorio)1,n <-usa-> 1,n(computador) "usa" es la tabla que se creo en el fisico, mi duda es ...
  #1 (permalink)  
Antiguo 07/10/2006, 19:05
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 6 meses
Puntos: 0
Desacuerdo FACIL PERO NO SE: ingresar varios accesorios a una tabla computador

cree un diseño con una relacion de tablas de (accesorio)1,n <-usa-> 1,n(computador)
"usa" es la tabla que se creo en el fisico, mi duda es como hago el insert para insertar varios accesorios al pc segun esta relacion 1,n -1,n que me creo una tabla intermedia (usa)?
le mustro mis tablas para que las vean (son a modo de ejemplo, mi duda en en cualkier caso en general en que pase esto):

Código:
/* Table: ACCESORIO                                             */
/*==============================================================*/
create table if not exists ACCESORIO
(
   ID_ACC                         int                            not null,
   ID_TACC  ->(FK DE TIPO_ACCESSORIO)                int          not null, 
   MODELO_ACC                     varchar(50),
   primary key (ID_ACC)
);
/*==============================================================*/
/* Table: COMPUTADOR                                            */
/*==============================================================*/
create table if not exists COMPUTADOR
(
   ID_COM                         int                            not null,
   USB_COM                        int,
   INGRESO_COM                    varchar(50),
   BAJA_COM                       varchar(50),
   GARANTIA_COM                   varchar(20),
   primary key (ID_COM)
);
/*==============================================================*/
/* Table: USA                                                   */
/*==============================================================*/
create table if not exists USA
(
   ID_COM                         int                            not null,
   ID_ACC                         int                            not null,
   primary key (ID_COM, ID_ACC)
);
ejemplo de interpretacion de los datos:

acesorio
--------
id_acc ->1
id_tacc ->1 (ej: corresponde a "monitor" de tabla tipo_accesorio)
modelo_acc: MV540
-----------

"usa" es la tabla que se creo en el modelo fisico.
ahora como inserto un monitor1, un lector1, y disco1 a un pc1??

Última edición por gazuzax; 07/10/2006 a las 23:31
  #2 (permalink)  
Antiguo 08/10/2006, 00:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues ... si entendí bien

Creas el registro del "computador" si es que no lo tienes ya claro por venir tal vez de una edición. En cualquier caso se trata de obtener primero ese "ID_COM".

Si vienes de la creación del "computador" y quieres crear además sus "accesorios" al instante en el mismo proceso por qué ya los tienes claros. Te hará falta obtener el "Último ID generado por tal tabla". (mysql_insert_id() .. función de Mysql y la misma en PHP por ejemplo)

Para esto, esos "ID_COM" y claves primárias en general que usas deben ser "AUTOnuméricos". (Por cierto .. ahora como le das ese "ID_COM"? .. a mano? .. como?

Bueno .. confirma cual es el proceso concreto en el que estás y si esos campos son autonuméricos o no y en su defecto como creas esos "ID_xxx".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 08/10/2006, 12:55
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 6 meses
Puntos: 0
Cita:
Iniciado por Cluster Ver Mensaje
Para esto, esos "ID_COM" y claves primárias en general que usas deben ser "AUTOnuméricos". (Por cierto .. ahora como le das ese "ID_COM"? .. a mano? .. como?

Bueno .. confirma cual es el proceso concreto en el que estás y si esos campos son autonuméricos o no y en su defecto como creas esos "ID_xxx".
mis PK no son autonumericas, no sabia como trabajar con ellas. recien vi que es asi insert into tabla (id) values (´´) y keda correlativo ahora las cambiare.

actualmente mis ID los escribo solamnete y tengo validaicones para no repetirlos. al crear un computador creo todo al mismo tiempo con combos desde la base de datos (t.madre: (COMBO t.mdre) ...etc.)

lo que me confunde es como voy a asignarles esos N accesorios al pc si no tengo una clave foranea de acc en computador y si la tuviera seria solo para insertar un acc (tendria solo un id_acc en mi tabla computador)

donde tendria que hacer el insert, en mi tabla usa?
Código:
$query="INSERT INTO usa (id_com, id_acc) VALUES ('$txt_id_com', '$txt_id_acc)";
??
y luego me como haria el select para mostrar?

eso es lo que me confunde de la relacion 1,n - 1,n no saber como insertar N accesorios a mi tabla computador y hacer mis consultas correpondientes..

ojala me puedas orientar

Última edición por gazuzax; 08/10/2006 a las 15:30
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 11:44.