Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/06/2012, 14:06
wchiquito
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Transacciones en Mysql

Hola luismaciasalejos,

En el siguiente ejemplo todo funciona como se espera, usé algunas de las estructuras que mostrabas así con algunos datos de prueba.

Código MySQL:
Ver original
  1. DROP TABLE IF EXISTS `al_alumnopagocobro`;
  2.  
  3. CREATE TABLE `al_alumnopagocobro` (
  4. `idalumnocobro` char(2) not null,
  5. `idalumnopago` int not null)
  6.  
  7. DROP TEMPORARY TABLE IF EXISTS `tmp_polizadet`;
  8.  
  9. CREATE TEMPORARY TABLE `tmp_polizadet` (
  10. `idpolizadet` int unsigned auto_increment,
  11. `idcuentacontable` int unsigned,
  12. `debe` decimal (15, 2),
  13. `haber` decimal(15, 2),
  14. `evaluado` char(1),
  15. primary key (`idpolizadet`))
  16.  
  17. DROP TEMPORARY TABLE IF EXISTS `tmp_polizadet2`;
  18.  
  19. CREATE TEMPORARY TABLE `tmp_polizadet2` (
  20. `idpolizadet` int unsigned auto_increment,
  21. `idcuentacontable` int unsigned,
  22. `debe` decimal (15, 2),
  23. `haber` decimal(15, 2),
  24. `evaluado` char(1),
  25. primary key (`idpolizadet`))
  26.  
  27.  
  28. insert into `al_alumnopagocobro` (`idalumnocobro`, `idalumnopago`)
  29. ('95', 43), ('96', 44);
  30.  
  31. insert into `tmp_polizadet` (`idcuentacontable`, `debe`, `haber`, `evaluado`)
  32. (1, 100, 200, 's'), (2, 300, 400, 'n');
  33.  
  34. insert into `tmp_polizadet2` (`idcuentacontable`, `debe`, `haber`, `evaluado`)
  35. (3, 500, 600, 'n'), (4, 700, 800, 's');
  36.  
  37.    `idalumnocobro`,
  38.    `idalumnopago`
  39.    `al_alumnopagocobro`;
  40.  
  41.    `idcuentacontable`,
  42.    `debe`,
  43.    `haber`,
  44.    `evaluado`
  45.    `tmp_polizadet`;
  46.  
  47.    `idcuentacontable`,
  48.    `debe`,
  49.    `haber`,
  50.    `evaluado`
  51.    `tmp_polizadet2`;
  52.  
  53.  
  54.    `idalumnocobro`,
  55.    `idalumnopago`
  56.    `al_alumnopagocobro`;
  57.  
  58.    `idcuentacontable`,
  59.    `debe`,
  60.    `haber`,
  61.    `evaluado`
  62.    `tmp_polizadet`;
  63.  
  64.    `idcuentacontable`,
  65.    `debe`,
  66.    `haber`,
  67.    `evaluado`
  68.    `tmp_polizadet2`;
  69.  
  70. DROP TEMPORARY TABLE IF EXISTS `tmp_polizadet2`;
  71. DROP TEMPORARY TABLE IF EXISTS `tmp_polizadet`;
  72. DROP TABLE IF EXISTS `al_alumnopagocobro`;
Cuando dices:
Cita:
el rollback este se ejecuta sin problemas y sin error pero simplemente no hace nada.
El "no hace nada.", ¿significa qué los datos persisten en las tablas?