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

Bloquear tablas

Estas en el tema de Bloquear tablas en el foro de Mysql en Foros del Web. Hola, Me surgió una duda acerca de la inserción y actualizacion de registros en MySQL. Supongo que cuando realizas consultas en la base de datos ...
  #1 (permalink)  
Antiguo 23/10/2011, 10:46
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 4 meses
Puntos: 5
Bloquear tablas

Hola,

Me surgió una duda acerca de la inserción y actualizacion de registros en MySQL.

Supongo que cuando realizas consultas en la base de datos no es necesario, pero cuando insertas o actulizas registros, ¿es necesario bloquear la tabla o los registros que se estan modificando?
  #2 (permalink)  
Antiguo 23/10/2011, 13:06
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Bloquear tablas

Hola DarkWater

MySQL y todos los motores de bases de datos respetables lo hacen automaticamente.

Los bloqueos son a nivel de registro. Por ejemplo: Si tienes una transaccion activa y haces una inserción, otra operación a este registro (desde otra sesión) no podrá realizarse hasta que un COMMIT o un ROLLBACK liberen el bloqueo del registro.

Mysql trabaja por defecto con autocommit, esto indica que cuando midifica el registro, automaticamente confirma el cambio y por eso da la sensación que no lo bloquea, pero si haces esta operación haciendo uso de transacciones podrás ver como funciona.

saludos y espero haberte ayudado
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 25/10/2011, 06:52
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: Bloquear tablas

Hola huesos52,

Si era exactamente eso lo que queria saber.
Gracias por resolverme la duda.

¿Pero que pasaría entonces si dos usuarios intentan modificar el mismo registro a la vez?
Se modifica dos veces o la segunda vez como esta bloqueado no se modifica.
  #4 (permalink)  
Antiguo 25/10/2011, 07:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Bloquear tablas

Si hay una transacción en curso, la operación enviada por el usuario que llegó en segundo lugar queda en espera hasta que la primera transacción termine. Por eso se necesita determinar el ISOLATION LEVEL, para determinar la consistencia de la operación.
El tema de operaciones concurrentes no es fácil ni se puede aprender mirando un tutorial cualquiera. Es un tema que necesita una muy buena comprensión de transacciones.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 26/10/2011, 13:44
 
Fecha de Ingreso: diciembre-2009
Mensajes: 186
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: Bloquear tablas

Gracias por responder, duda resuelta.

Etiquetas: bloquear, registros, sql, tabla, tablas
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 18:20.