MySQL事务没有回滚错误

时间:2016-05-12 02:16:10

标签: mysql

我的程序是这样的:

self.contentId = String(value)

我的问题是'sp_myProc'实际上需要3个参数,并且在我知道这个之前的测试期间,即使内部proc甚至没有启动,事务也在工作。交易提交很奇怪,但我仍然得到DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN select varerrmsg as ErrorMsg; ROLLBACK; END; START TRANSACTION; SELECT ... INSERT ... UPDATE ... INSERT ... (basically serveral statements) CALL sp_myProc (param1, param2); COMMIT; 结果告诉我处理程序正在触发,但没有回滚。

我的问题是:为什么?

1 个答案:

答案 0 :(得分:0)

这是我在我的存储过程中使用的一个对我有用的交易。

  DECLARE exit handler for sqlexception
    BEGIN
      -- ERROR
      SHOW ERRORS;
    ROLLBACK;
  END;

  DECLARE exit handler for sqlwarning
   BEGIN
      -- WARNING
     SHOW WARNINGS;
   ROLLBACK;
  END;

更多信息可以在这里找到

http://www.xpertdeveloper.com/2012/06/transaction-mysql-stored-procedure/ https://dev.mysql.com/doc/refman/5.7/en/get-diagnostics.html