翻遍了MYSQL手册都找不到说明哪个系统变量保存错误码
以下异常处理可以捕获异常,但是不知道是什么异常,但是可以在log里找到
当然,对于特定的SQL语句,也可以指定比如主键冲突,就rollback;
DECLARE exit HANDLER FOR SQLSTATE '23000'
delimiter //
CREATE PROCEDURE TEST()
BEGIN
DECLARE exit HANDLER FOR SQLEXCEPTION,SQLWARNING,NOT FOUND
begin
rollback;
insert into bb values('error');
end;
START TRANSACTION;
INSERT INTO aa VALUES (1);
INSERT INTO aa VALUES (2);
COMMIT;
END;
//
CALL test()//
本文探讨了MySQL中异常处理的方法,并通过一个具体的存储过程示例展示了如何使用SQLSTATE值来处理不同类型的异常,如SQLEXCEPTION、SQLWARNING和NOT FOUND。此外,还介绍了如何针对特定异常(例如主键冲突)进行回滚操作。
3万+

被折叠的 条评论
为什么被折叠?



