Re: [PHP-ES] que tan confiable es mysql_insert_

[email protected] (Guillermo Rodriguez)
Newsgroups php.general.es
Message-ID <[email protected]>
La funcion mysql_insert_id es confiable cuando pasas como parametro el
puntero
de la conexion que usaste para realizar el insert como aqui:

$con = mysql_connect(...);
$id = mysql_insert_id($con);

Esto hace que solo procese las transacciones realizadas por esa conexion en
especifico y no choque con otros usuarios, pues cada conexion es diferente
aunque  tenga el mismo origen.

Saludos.



El 18 de diciembre de 2009 08:32, hahmael <[email protected]> escribió:

> Si es muy cierto si no estoy mal desde la version cinco. y solo Innodb es
> transacional, pero como manejaria esto con PHP?.explico un poco mejor en
> que
> consiste todo..
>
> 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.
>
> 2009/12/18 Mauricio Cuenca <[email protected]>
>
> > Recomiendo que hagas una transacción, así se garantiza la atomicidad de
> la
> > operación.
> >
> > Ten en cuenta que las transacciones
> > solo son soportadas en ciertas versiones de MySQL y usando el motor
> InnoDB.
> >
> > --
> > Mauricio
> >
> >
> > On Dec 18, 2009, at 8:12, hahmael <[email protected]> wrote:
> >
> >  La funcion mysql_insert_id.. en una base de datos a la que van a acceder
> >> multiples clientes sea confiable esta función de PHP..?.
> >>
> >> con que otras funciones podemos trabajar, para devolver un valor
> >> autoincrement desconocido generado despues de un insert, para luego
> >> insertarlo en otra tabla,  ?
> >>
> >> --
> >> Agradecido.
> >>
> >> Hahmael Tâher.
> >>
> >
>
>
> --
> Agradecido.
>
> Hahmael Tâher.
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.