mysql -- 事务

事务操作

start transaction  开启事务

commit  事务提交

rollback   事务回滚 -- 出错时回滚

delimiter \\
create procedure p1(
    out p_return_code tinyint
)
begin
    declare exit handler for sqlexception    --为SQLexception错误声明出错码
    begin
           -- error级别
           set p_return_code = 1;
           rollback;
    end;

    
    declare exit handler for sqlwarning--为sqlwarning错误声明出错码
    begin
           -- warning级别
           set p_return_code = 2;
           rollback;
    end;

    start transaction; --开启事务
    取钱业务;
    扣钱业务;
    commit;

    --success
    set p_return_code = 0;

    end \\
delimiter ;

set @i = 0;

call p1(@i);

select @i;

 

 

注意pymysql默认是开启事务

当conn.commit()时会自动检查,出错时会回滚

posted @ 2018-03-11 22:08  山上有风景  阅读(136)  评论(0编辑  收藏  举报