我想在MySQL中执行一个事务。如果出现任何错误,我希望回滚,否则我想提交。是否有任何代码可以执行这些操作?
答案 0 :(得分:1)
您可以使用Declare / Handler语法来跟踪异常,然后根据值提交或回滚。这是一个例子:
DELIMITER //
BEGIN
DECLARE `fail` bool default 0;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET `fail` = 1;
START TRANSACTION;
INSERT ..
UPDATE ..
W/E...
IF `fail` THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
END//
DELIMITER;
有关DECLARE..HANDLER的更多信息,请参阅文档。