事务用于将某些操作的多个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;
如对本文有疑问, 点击进行留言回复!!
MySQL Innodb 存储结构 和 存储Null值 用法详解
京东T8架构师墙裂推荐:史上最全高性能MySQL实战(赶紧收藏)
网友评论