Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2009, 04:48
ssoler
 
Fecha de Ingreso: abril-2009
Mensajes: 6
Antigüedad: 15 años
Puntos: 0
Pregunta Modificación de registros multiples tablas mediante transacciones

Buenos dias,

Tengo una estructura de base de datos en la que una de las tablas (tA) almacena registros a los cuales se asocian un conjunto de registros de otra tabla (tB) que viene a ser una subtabla de la primera. Ejemplo: La tabla tA es de facturas y la tabla tB es de líneal de la factura (podrian ser manuales, albaranes, etc.).

Para editar un registro de la tA puedo requerir de modificar añadir o borrar registros asociados de la tB. Todo esto lo estoy programando en PHP+MySQL. Y necesito que las modificaciones hechas sobre los registros asociados de tB solo se ejecuten si se confirma la modificación del registro tA.

La solución sería hacer la tabla tB InnoDB transaccional y hacer select for update de los registros asociados de tB dentro de una transacción que se confirme solo si se confirma la modificación del registro "padre" de tA. El problema es que para cargar los datos desde la BD en el navegador cliente necesito un par de iframes independientes, uno para la tabla de lineas de factura y otro para los datos de la factura en gral. Entonces al actualizar los iframes debería cerrar la conexión de la transacción con rollback por defecto para evitar inconsistencias, pero si hago eso no puedo en ningún momento terminar con commit para guardar los datos calcular los totales y guardar la fatura.

¿Alguna sugerencia?