Mysql 异常处理

在Java中异常处理的方法, try --- catch -- finally。那么在Mysql里面是如何来处理的呢?

步骤如下:
1)关联异常信息变量;
2)开启事务;
3)关联变量判断。

Mysql里面其实也提供了一些异常捕获的情况,常见的有以下几种:
1) SQLEXCEPTION;
2) NOT FOUNT;
3) WARNING。

语法格式

DECLARE CONTINUE| EXIT HANDLER FOR SQLEXCEPTION|WARING|NOT FOUND SET
_ERROR = 0;


上面的语法就是将有异常的信息进行设置关联到变量上,如果出现了异常,那么_ERROR的值会被置成1,后面可以根据其值进行相应的操作,是commit还是rollback。

下面是一个例子供参考。

DROP PROCEDURE IF EXISTS TEST.TEST;
CREATE PROCEDURE TEST.TEST(ID INT, NAME VARCHAR(20))

BEGIN
DECLARE _ERROR INT DEFAULT 0;
-- 如果出现异常就关联到另一个变量上
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET _ERROR =1;
-- 开启事务
START TRANSACTION;

INSERT INTO STUDENT VALUES(ID, NAME);

-- 变量判断,是COMMIT还是ROLLBACK
IF _ERROR = 1 THEN
ROLLBACK;
-- 将错误信息写到另一张表中
INSERT INTO ERROR VALUES(ID,NAME);
SET _ERROR = 0;
COMMIT;
ELSE
COMMIT;
END IF;

END;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值