当前位置: 移动技术网 > IT编程>数据库>Mysql > MySQL 事务处理

MySQL 事务处理

2018年12月18日  | 移动技术网IT编程  | 我要评论

事务用于将某些操作的多个sql作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性。

delimiter $$
create procedure p1 (
    out p_return_code tinyint 
)
begin 
    declare exit handler for sqlexception     # 定义 sql 异常
    begin
        -- errors
        set p_return_code = 1;                # 定义 p_return_code
        rollback;                             # 回滚操作
    end;
    
    declare exit handler for sqlwarning    
    begin
        -- warnings
        set p_return_code = 2;
        rollback;
    end;
    
    start transaction;                       # 开始事务
        delete from userinfo where username = 'klvchen';
        insert into tmp(name) values ('haha');
    commit;                                  # 提交事务
    
    -- success
    set p_return_code = 0;
    
    end $$
delimiter ;

执行

set @i =0;
call p1(@i);
select @i;

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网