检查MySQL事务中的错误

时间:2015-02-23 04:00:05

标签: mysql mysql-workbench

我想在MySQL中执行一个事务。如果出现任何错误,我希望回滚,否则我想提交。是否有任何代码可以执行这些操作?

1 个答案:

答案 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的更多信息,请参阅文档。