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

Ayuda con Transacciones

Estas en el tema de Ayuda con Transacciones en el foro de Mysql en Foros del Web. Me gustaria saber si alguien me puede ayudar... El Caso... Un usuario X ingresa a un modulo y va a dar de alta el registro ...
  #1 (permalink)  
Antiguo 17/08/2007, 13:14
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 17 años, 3 meses
Puntos: 0
Ayuda con Transacciones

Me gustaria saber si alguien me puede ayudar...

El Caso...

Un usuario X ingresa a un modulo y va a dar de alta el registro con el ID 1 (pero apenas lo va a dar de alta)
Un usuario Y entra al mismo modulo y se dispone a dar de alta ... claro no puede dar de alta con el ID 1 por que ya otro lo esta utilizando ... y bueno seguiria el que el quiera... menos el 1...
El usuario X Cancela la operacion.. dejando libre el ID 1
El usuario Y entonces ya puede cambiar el ID de su operacion por la del ID 1 ya que ya se encuentra libre...

bueno es algo enrrolloso el problemita.. pero espero y me puedan ayudar...

la base de datos es MySql 5.0.27 con tablas InnoDB y programando en Visual Studio .NEt

bueno espero algunas sugerencias... de como poder controlar esto...

muchas gracias de antemano..
  #2 (permalink)  
Antiguo 17/08/2007, 15:14
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Pregunta Re: Ayuda con Transacciones

Cùal es el problema de esto?
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 17/08/2007, 15:27
 
Fecha de Ingreso: agosto-2007
Mensajes: 25
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Ayuda con Transacciones

Cita:
Iniciado por Carxl Ver Mensaje
Cùal es el problema de esto?
Pues el problema es que no se como manejar las transacciones para conocer el id virtual insertado... vaya...

si se hace un

Begin Transaccion
Insert into TablaX values (1)

Aki en otras transacciones debo conocer que se esta ocupando ese registro...

y dar el numero siguiente...

por ejemplo... el otro usuario que entre a ese mismo modulo al realizar el select del ultimo indice... me debe arrojar 2 y si el mete el 1 pues simple y sencillamante.. no puede por que el 1 esta siendo insertado por el otro usuario...

Ahora si el Usuario 1 da un Rollback pues.. el usuario 2 ya puede disponer del Id 1 para su uso.. y poder realizar la insercion...

y aki es donde no se como hacerle.. por que cuando realizo el select de esa tabla desde otra transaccion.. pues me manda que el siguiente numero es 1

Lo cheque con revisar el status de la tabla... para conocer cual es el status del autoincrementable ... pero al realizar el rollback no se regresa el Id y queda con el 1 siendo que ese Id ya no se inserto... y pues... no me ayuda mucho...


tal vez me lo estoy viendo demaciado engorroso... pero pues... gracias por responder.. y espero tu opinion....
  #4 (permalink)  
Antiguo 17/08/2007, 15:37
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
De acuerdo Re: Ayuda con Transacciones

Ohhhhhh ya veo...

Esto pues la verdad ya lo tienes solucionado con el solo hecho de denominar tus tablas innodb. Estas tablas serìan transaccionales, es decir se "bloquea un registro" mientras está activo, me entiendes??.

De todas formas lee un poco sobre estas tablas.

No deberìas preocuparte...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
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 22:57.