Let's go

mysql 事务

案例1:

CREATE 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

 

posted @ 2019-07-31 16:29  chenze  阅读(116)  评论(0编辑  收藏  举报
有事您Q我