在phpmyadmin 中 执行如下测试语句,发现事务不回滚,请问是何原因?BEGIN;
insert point_sub (precord_id, subscr_id, amount, point)values(1,1,1000,1200);
insert point_sub (precord_id, subscr_id, amount, point)values(1,2,1000,1200);
insert point_sub (precord_id, subscr_id, amount, point)values(1,3,1000,1200);
ROLLBACK;
COMMIT;

解决方案 »

  1.   

    MyISAM
    检查一下你的AUTOCOMMIT参数,默认是1,改成0
      

  2.   

    SET AUTOCOMMIT=0;
    BEGIN;
    insert point_sub (precord_id, subscr_id, amount, point)values(1,1,1000,1200);
    insert point_sub (precord_id, subscr_id, amount, point)values(1,2,1000,1200);
    insert point_sub (precord_id, subscr_id, amount, point)values(1,3,1000,1200);
    ROLLBACK;
    COMMIT; 这么执行 回滚也是没有执行
      

  3.   

    ALTER TABLE `XXX`  ENGINE = innodb;