List:Spanish« Previous MessageNext Message »
From:Thomas Goik - auxion.de Date:December 18 2009 7:47am
Subject:RE: Duda funcionamiento logico en BD
View as plain text  
Hola Hahmael;

Primero, en MySQL puedes usar la FUNCION last_insert_id(), que te devuelve
el ultimo auto_increment valor de la existente conexión que estas usando 

Algo así puedes hacer: insert into TABLE_DETALLES_ORDENES values (NULL,
last_insert_id(),int_cod_prod)
Siempre haciendo el insert anterior en la tabla de la cual quieres usar el
AI: insert into TABLE_ORDENES

Un cosita, para que la tabla sea de FIX ROW SIZE es conveniente  que usas
char en vez de varchar para estado_orden o mejor un tinyint unsigned not
null
o enum('lista','de','estatus') not null default 'lista'


Mit freundlichen Grüssen
Thomas Goik

--
Lofox GmbH
Geschäftsführerin: Evelyn Fuchs
Im Kamperholz 48
44805 Bochum - Germany
Amtsgericht Bochum HRB 7042
USt-IdNr.: DE215698227
St.-Nr. Bochum 306/5885/0172


> -----Mensaje original-----
> De: hahmael [mailto:hahmael@stripped]
> Enviado el: viernes, 18 de diciembre de 2009 6:46
> Para: mysql-es@stripped
> Asunto: Duda funcionamiento logico en BD
> 
> Buenos dias, tardes o noches a todos.
> 
> Tengo la siguiente duda, poseo 3 tablas que corresponden a:
> -------------------------------------------------------------
> 1. TABLE ORDENES
> no_orden         INT Primary Key
> fecha_ordeb     DATETIME
> estado_orden   VARCHAR
> ----------------------------------------------------------------
> 2. TABLE DETALLES ORDENES
> id_ordenes       INT Primary Key
> no_orden          INT Foreign key
> Cod_producto    INT FK
> ----------------------------------------------------------------
> 3.TABLE PRODUCTOS
> Cod_producto            INT PK
> name_product           VARCHAR
> description_product   TEXT
> Costo_producto           DECIMAL
> Rank_producto            INT
> 
> -----------------------------------------------------------------------
> 
> La lógica es la siguiente un usuario realiza una orden, con una serie
> de
> productos el usuario envía, el sistema genera una No de Orden el cual
> es un
> valor único por lo tanto es una PK en table Ordenes, luego almacena uno
> a
> uno los productos que envía en la tabla Detalles la cual cada producto
> estará relacionado con su numero de orden correspondiente, por lo tanto
> una
> orden puede tener muchos detalles que realmente son productos ya
> existentes,
> la Duda radica en la generación de ese numero de orden, de que manera
> podría
> generarlo, si dejo un autoincremente en INT estaria bien, pero necesito
> tener ese identificativo único al momento de crear para luego poder
> realizar
> el insert de productos de esa orden, pero para ello al momento de
> realizar
> la primera ejecución que es el insert ordenes debo conocer es ID sino
> no
> podre insertas en detalles, esto evitando colisiones o que un usuario
> tome
> un numero de orden que no corresponde.
> 
> Espero alguien pueda entenderme y orientarme, estoy un poco
> confundido..espero no sea la cafeína.
> 
> 
> 
> 
> --
> Agradecido.
> 
> Hahmael Tâher.

Thread
Duda funcionamiento logico en BDhahmael18 Dec
  • RE: Duda funcionamiento logico en BDThomas Goik - auxion.de18 Dec
    • Re: Duda funcionamiento logico en BDEsteban Vega18 Dec
    • Re: Duda funcionamiento logico en BDhahmael18 Dec
      • RE: Duda funcionamiento logico en BDThomas Goik - auxion.de18 Dec