[英]MySQL stored procedure the reason of rollback
如果没有SQLEXCEPTION
rollback
命令,则MySQL存储过程将抛出该错误,但在异常发生前它已更改了一些数据。
我为SQL异常添加了rollback命令:
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
END;
但是我现在不知道回滚的原因。
我知道我们可以定义每个SQL异常及其处理程序,但是它太复杂了,我只想知道为什么发生回滚。
是否有一种简单的方法来获取MySQL存储过程中回滚的原因?
谢谢@kordirko。 我有一个解决方案与RESIGNAL。 但仅在MySQL 5.5之前受支持。
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
SET @flag = 1;
IF @flag = 1 THEN RESIGNAL;END IF;
ROLLBACK;
END;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.