Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos. Estou com um problema ao fazer uma transaction: Não consigo verificar a condição de rollback (possivelmente não entendi bem como as transaction funcionam). Se alguém puder me dar uma luz eu agradeço.
link do sqlfiddle: http://sqlfiddle.com/#!2/1a1edc/1
_______________________________________
Para quem não quiser ver no sqlfiddle: código sql que estou tentando executar (mas aqui não tem o esquema de dados):
SET AUTOCOMMIT=0;
START TRANSACTION;
UPDATE `dcoracoes_produto` SET `estoque` = `estoque` - 11 WHERE `cod` = '1'; UPDATE `dcoracoes_item` SET `total` = ( SELECT `preco` FROM `dcoracoes_produto` WHERE `cod` = '1') ;
UPDATE `dcoracoes_produto` SET `estoque` = `estoque` - 2 WHERE `cod` = '2'; UPDATE `dcoracoes_item` SET `total` = ( SELECT `preco` FROM `dcoracoes_produto` WHERE `cod` = '2') ;
UPDATE `dcoracoes_pedido` SET `total` = ( SELECT SUM(`total` * `quantidade`) FROM `dcoracoes_item` WHERE `pedido` = '1' ), `data` = NOW() WHERE `cod` = '1' ;
SELECT count(*) FROM `dcoracoes_produto` WHERE estoque < 10 INTO @total;ROLLBACK;
SET AUTOCOMMIT=1 ;Carregando comentários...