mysql 事务
时间:2021-07-01 10:21:17
帮助过:18人阅读
PROCEDURE proc_test()
BEGIN
DECLARE t_error
INTEGER DEFAULT 0;
-- 申明一个变量 默认为0
DECLARE CONTINUE HANDLER
FOR SQLEXCEPTION
SET t_error
=1;
-- 当SQLEXCEPTION HANDLER捕捉到异常时,设置t_error=1
START
TRANSACTION;
-- 开始事务
-- 此处写需要执行的操作
INSERT INTO table_test(a,b,c)
VALUES (
‘a‘,
‘b‘,
‘c‘);
UPDATE table_test
SET a
=‘a1‘ WHERE b
=‘b‘;
IF t_error
= 1 THEN
ROLLBACK;
-- 如果捕获异常则回滚
ELSE
COMMIT;
-- 否则则提交执行
END IF;
SELECT t_error;
-- 根据查询的t_error来判断事务执行成功还是失败
END
mysql 事务
标签:default comm else 案例 nsa proc 捕获异常 事务 class