Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2011, 09:12
Avatar de Ribon
Ribon
 
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 14 años, 2 meses
Puntos: 91
Información Problema LOCK TABLES + transacción en INNODB

Buenas, tengo un problema con una transacción en la base de datos y me gustaría saber si pueden ayudarme.

lo que pasa es que quiero hacer un bloqueo de tabla para realizar una serie de operaciones en la base de datos pero además respetar el ACID realizando todas esas operaciones encapsuladas en una transacciones.

a modo de prueba hice esto, respetando lo que dice la documentación oficial de como hacer lock table y transacciones en innodb:


Código MySQL:
Ver original
  1. SET AUTOCOMMIT=0;
  2.  
  3. {{ Operaciones con t1 y t2 }}
  4.  
  5. UNLOCK TABLES;


El problema que tengo es que aún haciendo ROLLBACK los registros se me están escribiendo en las tablas (eso despues lo convertiré a COMMIT pero para las pruebas hago ROLLBACK).

Mi pregunta es, ¿Qué me mata la transacción o me vuelve autocommit=1 ?
probé poniendo el AUTOCOMMIT=0 después del LOCK TABLES pero igual me sucede lo mismo.

si hago solo esto:

Código MySQL:
Ver original
  1.  
  2. {{Operaciones con t1 y t2 }}
  3.  


eso si me funciona pero no me sirve porque requiero del bloqueo de las tablas porque estoy trabajando con bodegas y stock.

Si me pueden ayudar les agradecería :)

Saludos.