理解事务
一、事务的概念
通俗版理解:
1.不止一个执行步骤
2.如果错了一个步骤,整个过程都不算数,也就是说要么执行,要么都不执行
3.在做事务的过程中,任何人都不能影响我
东北小品版理解:
执行事务就像把大象放冰箱,总共分三步,把冰箱门打开-》把大象放进冰箱-》帮冰箱门关上,如果这三步有一步没有成功,那大象和冰箱都要回到最初状态,而在放大象的过程中,本山大叔和丹丹姐都不能动大象和冰箱。
二、事务的格式
存储引擎为InnoDB时支持事务,实际上会自动提交commit,一般情况下当需要手动提交时,采用如下格式
start TRANSACTION;
......
COMMIT;/ROLLBACK;
自定义异常处理
在存储过程中发生异常时,要用自定义异常处理
格式:
DECLARE xxx1 HANDLER FOR xxx2 执行sql;
xxx1:CONTINUE|EXIT|UNDO
xxx2:SQLSTATE|SQLWARNING|NOT FOUND|SQLEXCEPTION
创建用户余额表
创建用户余额表,名为user_balance,存储引擎为InnoDB,表结构如下图