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

Bloqueo de registros en MySQL con PHP

Estas en el tema de Bloqueo de registros en MySQL con PHP en el foro de Bases de Datos General en Foros del Web. Hola. Necesito bloquear un registro de una tabla de una BD de MySQl mientras veo el contenido del registro para que nadie me lo pueda ...
  #1 (permalink)  
Antiguo 02/03/2005, 04:21
 
Fecha de Ingreso: mayo-2004
Ubicación: El mundo
Mensajes: 63
Antigüedad: 20 años
Puntos: 0
Bloqueo de registros en MySQL con PHP

Hola.

Necesito bloquear un registro de una tabla de una BD de MySQl mientras veo el contenido del registro para que nadie me lo pueda borrar ni modificar. Esto lo tengo que hacer desde una página en PHP. Según he leido en el propio manual de MySQL hay un par de opciones que se pueden poner en la instruccion Select para hacer que esto ocurra. Son LOCK IN SHARE MODE y FOR UPDATE. Esto funciona siempre y cuando las tablas sean de tipo INNODB.
Desde el phpMyAdmin no logro poner este tipo de tabla mediente ninguna de las opciones que da este asistente. Si lo logro (creo yo) desde la ventana de SQL del phpMyAdmin. Escribo la instruccion para crear (o modificar) una tabla y que quede con este tipo pero al volver a ver la lista de tablas me sigue diciendo que es tipo MyIsam. Aún asi no me da error. O sea no estoy seguro del tipo de la tabla.
Pero, cuando intento probar si está bloqueada me encuentro con que de bloqueo nada. Cargo un registro (supuestamente bloqueado) y un compañero hace lo propio, lo modifica y no hay, aparentemente, ningun bloqueo. ASe guarda siempre la ultima modificacion.
Si alguien sabe como puedo arreglar este tema se agradecera enormemente.

Saludos.
  #2 (permalink)  
Antiguo 02/03/2005, 04:57
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
El problema lo tienes en que los bloqueos permanecen mientras se ejecuta el script, con lo que en cuanto tienes tus datos en cliente, esa fila ya está desbloqueada.
Si quieres ver como hacerlo, mira esta página del manual de php. Léelo bien y fíjate en el aviso que tiene.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #3 (permalink)  
Antiguo 02/03/2005, 05:29
 
Fecha de Ingreso: mayo-2004
Ubicación: El mundo
Mensajes: 63
Antigüedad: 20 años
Puntos: 0
Gracias Vice. Me queda claro lo que me dices. Una vez que se termina de ejecutar el script de php desde donde obtengo la información el registro queda desbloqueado. También me queda claro lo que dice esa pagina del manual. Pero alli se refiere a conexiones a la base de datos entera. A mi me interesa bloquear solo un registro. Aparetemente no se puede hacer a traves del propio MySQL.
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 00:47.