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

Trabajar en red

Estas en el tema de Trabajar en red en el foro de Bases de Datos General en Foros del Web. Bien, m,i duda es la siguiente. He echo algunas cosillas con mysql; pero ahora quiero hacer algo un poco mas serio y mi duda es ...
  #1 (permalink)  
Antiguo 14/04/2005, 04:44
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Trabajar en red

Bien, m,i duda es la siguiente.

He echo algunas cosillas con mysql; pero ahora quiero hacer algo un poco mas serio y mi duda es la siguiente:

Que pasa si varios usuarios entran a consultar el mismo registro?

Se puede bloquear un registro mientras un usuario no ha terminado de modificar los datos?

gracias

jaume
  #2 (permalink)  
Antiguo 18/04/2005, 04:10
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Por favor, podeís aclarar mis dudas?
  #3 (permalink)  
Antiguo 18/04/2005, 08:54
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 21 años, 4 meses
Puntos: 7
en condiciones normales, mysql es un servidor de concurrencias... es decir varios usuarios pueden acceder a un mismo registro, sin ningun problema, ahora si lo que haces es una transaccion...

http://dev.mysql.com/doc/mysql/en/an...nsactions.html

puedes "bloquear" la tabla para que un solo usuario la utilice....

Chaop!
  #4 (permalink)  
Antiguo 18/04/2005, 10:43
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 7 meses
Puntos: 47
Esa es la manera de hacerlo, con una transaccion, pero esta se la hace en el codigo del programa, en la base no tienes que hacer nada. Cuando entras en un trans todas las tablas involucradas se bloquean y no pueden ser accedidas en ningun modo por otros usuarios hasta que se realice el commit para guardar los cambios en la base o el rollback para no guardarlos. Luego de eso otros usuarios podran acceder a la consulta con los datos actualizados
  #5 (permalink)  
Antiguo 18/04/2005, 11:59
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Pero yo lo que voy a hacer es leer un registro y claro mientras un usuario lo modifica no esta bie que otro tambien acceda.

como lo resolveis vosotros?
  #6 (permalink)  
Antiguo 18/04/2005, 14:17
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 21 años, 4 meses
Puntos: 7
Transaccion, o hacer un procedimiento almacenado utilizando lock table ....mejor el primero...
Chaop!
  #7 (permalink)  
Antiguo 18/04/2005, 14:50
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 7 meses
Puntos: 47
Primero debes de estar familiarizado con la forma de hacer una transaccion en el lenguaje que estes utilizando. puesto a que esto es cosa del programa, no de la base. No has especificado el lenguaje. Con una transaccion puedes hacer que se bloqueen las tablas en las que estas haciendo los insert, update o delete para que nadie pueda consultar hasta que se realize el commit y se actualicen los datos en la base
  #8 (permalink)  
Antiguo 20/04/2005, 13:45
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Trabajo en php.

Por otro lado, solo quiero bloquear el registro que estoy modificando hasta que termine de introducir los datos en el formulario
  #9 (permalink)  
Antiguo 23/04/2005, 01:49
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 21 años, 2 meses
Puntos: 0
Entonces, hay forma de bloquear un registro para que nadie lo modifique hasta terminar?
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 23:05.